如何在 GoLang 中添加或减去我当前时间的 UTC 偏移量(另一个时间位置)值。我试过这个链接但没有用(example)
例子
- 我的输入是“UTC+7”。我不知道位置。现在我在印度。
- 现在我得到印度 (IST) 时间。例如:2019-07-23T15:23:08,这里我需要在IST中添加UTC+7。这可能吗?
最佳答案
使用time.LoadLocation()
获取特定时区的位置信息。然后使用时间对象的.In()
方法,将当前时间转换成期望的时区。
例子:
now := time.Now()
fmt.Println("My place", now)
// 2019-07-23 18:14:23.6036439 +0700 +07
locSingapore, _ := time.LoadLocation("Asia/Singapore")
nowInSingapore := now.In(locSingapore)
fmt.Println("Singapore", nowInSingapore)
// 2019-07-23 19:14:23.6036439 +0800
locLondon, _ := time.LoadLocation("Europe/London")
nowInLondon := now.In(locLondon)
fmt.Println("London", nowInLondon)
// 2019-07-23 12:14:23.6036439 +0100 BST
解释:
- 从上面的代码我们可以看到
time.Now()
时区是+7
,这是因为我住在印度尼西亚西部。 - 但是
nowInSingapore
时区是+8
,这是因为now
对象被调整到新加坡时区。 - 最后一个,
nowInLondon
显示了另一个不同的时区,+1
。
如果我们比较所有这些时间,它基本上是同一时间。
18:14:23 WIB (GMT +7)
==19:14:23 GMT +8
==12:14:23 BST (GMT +1)
关于go - 如何在当前时间添加或减去 UTC 偏移值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57162166/