获取完整的 UTC 偏移量格式



我需要获取一个位置的UTC偏移量。我对不同值的结果不一致感到麻烦。我只需要+HHMM格式的值(例如,"欧洲/罗马"的+0100(。

func main() {
    loc, _:= time.LoadLocation("Asia/Kathmandu")
    offset, others:= time.Now().In(loc).Zone()
    fmt.Println(offset, others)
}

操场

我得到什么:

  • "亚洲/加德满都":+0545(合适(
  • "亚洲/Ho_Chi_Minh":+07(应为+0700(
  • "美国/凤凰城":MST(应该是-0700(
  • "欧洲/罗马":CET(应+0100(

参考时区国家名称

您使用的Zone()方法与广告中的完全一致。

Zone 计算在时间 t 生效的时区,返回区域的缩写名称(例如"CET"(及其在 UTC 以东的秒偏移量。

对您来说,更好的方法是使用 Format 方法。像这样:

zone := time.Now().In(loc).Format("-0700")

当然,请注意:由于夏令时,即使这样也不会 100% 一致。

相关内容

  • 没有找到相关文章

最新更新