Go 要抵消的时区?
我希望以秒为单位获得指定时区的偏移量。这正是Perl中的Go 要抵消的时区?,go,timezone,Go,Timezone,我希望以秒为单位获得指定时区的偏移量。这正是Perl中的tz_offset()所做的:“以指定时区的秒为单位确定与GMT的偏移量” 在围棋中已经有这样做的方法了吗?输入是一个具有时区名称的字符串,仅此而已,但我知道Go在time包中有LoadLocation(),因此string=>offset或location=>offset应该可以 输入:“MST” 输出:-25200这是计算本地和指定时区之间当前偏移量的代码。我同意偏移仅在特定时间点才有意义: package main import (
tz_offset()
所做的:“以指定时区的秒为单位确定与GMT的偏移量”
在围棋中已经有这样做的方法了吗?输入是一个具有时区名称的字符串,仅此而已,但我知道Go在time
包中有LoadLocation()
,因此string=>offset或location=>offset应该可以
输入:“MST”
输出:-25200这是计算本地和指定时区之间当前偏移量的代码。我同意偏移仅在特定时间点才有意义:
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)
}
这应该可以做到:
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]
去操场:无论如何,这不是同一个问题。不过,我编辑了我的问题以使其更清楚。@OmarOthman您不能通过字符串获得偏移量,因为偏移量也取决于时间。想一想,或者说,@Ainar-G谢谢你的评论,我是这个世界的初学者。但是看看,这就是正在发生的事情@OmarOthman,函数返回当前区域相对于UTC(GMT)的偏移量<代码>位置,错误:=时间.LoadLocation(“MST”);\,偏移量:=Time.Now().In(loc.Zone()我不想要本地时区的偏移量,我想要GMT的偏移量。这会改变什么吗?你能改变你的代码来反映这一点吗?另外,你能看看我对问题本身的最后评论吗?