LatLong conversion to time zone. This is a fork of github.com/ugjka/go-tz.
import localtimezone "github.com/albertyw/localtimezone/v3"
// Loading Zone for Line Islands, Kiritimati
tz, err := localtimezone.NewLocalTimeZone()
if err != nil {
panic(err)
}
zone, err := tz.GetZone(localtimezone.Point{
Lon: -157.21328, Lat: 1.74294,
})
if err != nil {
panic(err)
}
fmt.Println(zone[0])
Uses simplified shapefile from timezone-boundary-builder
GeoJson Simplification done with orb.
- The timezone shapefile is embedded in the build binary
- Supports overlapping zones
- You can load your own geojson shapefile if you want
- Sub millisecond lookup even on old hardware
- Shapefile is simplified using a lossy method so it may be innacurate along the borders
- This is purely in-memory. Uses ~50MB of ram
Get the most current timezone release version at https://github.com/evansiroky/timezone-boundary-builder/tags
go run tzshapefilegen/main.go
The code used to lookup the timezone for a location is licensed under the MIT License.
The data in timezone shapefile is licensed under the Open Data Commons Open Database License (ODbL).