...
1 package tzlocal
2
3 import (
4 "fmt"
5 "os"
6 "time"
7 )
8
9
10 func EnvTZ() (string, bool) {
11 if name, ok := os.LookupEnv("TZ"); ok {
12
13 if name == "" {
14 return "UTC", true
15 }
16 _, err := time.LoadLocation(name)
17
18 if err != nil {
19 return "UTC", true
20 }
21 return name, true
22 }
23 return "", false
24 }
25
26
27 func RuntimeTZ() (string, error) {
28
29
30 if name, ok := EnvTZ(); ok {
31 return name, nil
32 }
33
34
35 name, err := LocalTZ()
36 if err != nil {
37 err = fmt.Errorf("failed to get local machine timezone: %w", err)
38 return "", err
39 }
40
41 return name, err
42 }
43
View as plain text