为了账号安全,请及时绑定邮箱和手机立即绑定

时区偏移?

时区偏移?

Go
繁花如伊 2021-12-07 16:13:05
我想从指定的时区以秒为单位获取偏移量。这正是tz_offset()Perl 的Time::Zone所做的:“以秒为单位确定指定时区的 GMT 偏移量”。在 Go 中已经有这样做的方法了吗?输入是一个带有时区名称的字符串,仅此而已,但我知道 Go 包含LoadLocation()在time包中,因此string => offset或location => offset应该没问题。输入: “MST”输出: -25200
查看完整描述

2 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

这应该可以解决问题:


location, err := time.LoadLocation("MST")

if err != nil {

    panic(err)

}


tzName, tzOffset := time.Now().In(location).Zone()


fmt.Printf("name: [%v]\toffset: [%v]\n", tzName, tzOffset)

将打印:


名称:[MST] 偏移量:[-25200]


去游乐场:https : //play.golang.org/p/GVTgnpe1mB1


查看完整回答
反对 回复 2021-12-07
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

这是计算本地时区和指定时区之间的当前偏移量的代码。我同意Ainar-G 的评论,即偏移量仅与指定的时间有关:


package main


import (

    "fmt"

    "time"

)


func main() {

    loc, err := time.LoadLocation("MST")

    if err != nil {

        fmt.Println(err)

    }


    now := time.Now()

    _, destOffset := now.In(loc).Zone()

    _, localOffset := now.Zone()


    fmt.Println("Offset:", destOffset-localOffset)

}


查看完整回答
反对 回复 2021-12-07
  • 2 回答
  • 0 关注
  • 203 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信