Go SDK
Install
go get github.com/koke1997/timenow/sdk/go
Quick Start
package main
import (
"fmt"
"log"
timenow "github.com/koke1997/timenow/sdk/go"
)
func main() {
client := timenow.NewClient("http://localhost:8090")
// Solar time for London
result, err := client.GetSolarTime(51.5074, -0.1278, "")
if err != nil {
log.Fatal(err)
}
fmt.Println(result.SolarTime) // "2026-04-14T11:49:23"
fmt.Println(result.CivilSolarOffsetMin) // -10.6
// Social jetlag
jetlag, err := client.GetJetlag(39.47, 75.99)
if err != nil {
log.Fatal(err)
}
fmt.Println(jetlag.RiskLevel) // "severe"
}
Methods
| Method | Signature | Returns | API endpoint |
GetSolarTime | (lat, lng float64, utc string) | *SolarTimeResult, error | GET /solar |
GetJetlag | (lat, lng float64) | *JetlagResult, error | GET /solar/jetlag |
GetPrayerTimes | (lat, lng float64, date, convention string) | *PrayerTimesResult, error | GET /solar/prayer |
GetAlmanac | (lat, lng float64, year int) | *AlmanacResult, error | GET /solar/almanac |
GetIcal | (lat, lng float64, days int) | string, error | GET /solar/ical |
Health | () | bool, error | GET /health |
Types
type SolarTimeResult struct {
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
UTC string `json:"utc"`
SolarTime string `json:"solar_time"`
CivilTime string `json:"civil_time"`
EquationOfTimeMin float64 `json:"equation_of_time_min"`
CivilSolarOffsetMin float64 `json:"civil_solar_offset_min"`
Timezone string `json:"timezone"`
SolarNoonUTC string `json:"solar_noon_utc"`
SunriseUTC string `json:"sunrise_utc"`
SunsetUTC string `json:"sunset_utc"`
}