solar

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2026 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Overview

Package solar provides a thin wrapper around github.com/mstephenholl/go-solar for computing sunrise/sunset and determining whether a given UTC instant is during daytime or nighttime.

The wrapper preserves the historical API used throughout this repository (Calculate, SunTimes, IsNight) while delegating the underlying astronomical math to go-solar.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsNight

func IsNight(t time.Time, latitude, longitude float64) bool

IsNight returns true if the given UTC time is before sunrise or after sunset at the supplied latitude and longitude.

Types

type SunTimes

type SunTimes struct {
	Sunrise time.Time
	Sunset  time.Time
}

SunTimes holds sunrise and sunset times for a given date and location.

func Calculate

func Calculate(date time.Time, latitude, longitude float64) SunTimes

Calculate computes sunrise and sunset UTC times for a given date, latitude, and longitude. Computation is delegated to github.com/mstephenholl/go-solar.

Edge cases:

  • Polar night (sun never rises): both Sunrise and Sunset are set to the start of the UTC day, so any time on that day is considered "night".
  • Midnight sun (sun never sets): Sunrise is set to the start of the UTC day and Sunset to 23:59:59 UTC, so any time on that day is considered "day".

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL