added setLocaltime

This commit is contained in:
Kwitsch 2022-11-11 22:23:11 +01:00 committed by Dimitri Herzog
parent f15c7d3190
commit cf4e894b31
1 changed files with 20 additions and 6 deletions

View File

@ -4,7 +4,6 @@
package main
import (
"fmt"
"os"
"time"
_ "time/tzdata"
@ -16,12 +15,27 @@ import (
func init() {
go reaper.Reap()
if tz := os.Getenv("TZ"); tz != "" {
var err error
time.Local, err = time.LoadLocation(tz)
setLocaltime()
}
if err != nil {
fmt.Printf("error loading location '%s': %v\n", tz, err)
// set localtime to /etc/localtime if available
// or modify the system time with the TZ environment variable if it is provided
func setLocaltime() {
// load /etc/localtime without modifying it
if lt, err := os.ReadFile("/etc/localtime"); err == nil {
if t, err := time.LoadLocationFromTZData("", lt); err == nil {
time.Local = t
return
}
}
// use zoneinfo from time/tzdata and set location with the TZ environment variable
if tz := os.Getenv("TZ"); tz != "" {
if t, err := time.LoadLocation(tz); err == nil {
time.Local = t
return
}
}
}