我正在使用 time.Time in go。以秒为单位获取时间(自 1970 年 1 月 1 日以来经过的秒数)我正在使用
now := Time.now()
loc, err := time.LoadLocation(country.Timezone) // time zone in Asia/Dhaka
now = now.In(loc)
然后,
seconds := now.Unix()
但秒数给出的秒数不加时区秒数。它实际上给出了 UTC 的秒数。我的问题是,如何在增加 6 小时后获得秒数(亚洲/达卡时区为 UTC+6)?
最佳答案
如果你想要当前时钟时间的第二部分只使用下面的代码:
loc := time.FixedZone("some_common_name", 6*60*60)
ts := time.Now().In(loc).Second()
fmt.Println(ts)
如果你想要从当年开始的秒数(比如 01.01.1970)
loc := time.FixedZone("some_common_name", 6*60*60)
tp := time.Date(1970, 1, 1, 0, 0, 0, 0, loc)
ts := time.Now().Sub(tp).Seconds()
fmt.Printf("%v", ts)
如果您需要不同的时区信息,请更改 time.FixedZone()
函数的偏移值。如,如果您想要 GMT +5,则使用 5*60*60 作为偏移值
关于go - 如何在go中添加时区以秒为单位获取时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57941547/