【问题标题】:How to load location by utc offset [duplicate]如何通过UTC偏移量加载位置[重复]
【发布时间】:2019-03-16 12:20:06
【问题描述】:

我想通过 UTC 偏移量加载位置,例如

func main() {
    L, err := time.LoadLocation("UTC+8")
    if err != nil {
        panic(err)
    }
    fmt.Println(L)
}

代码恐慌:panic: unknown time zone UTC+8

如何通过 UTC 偏移量(不是本地或 UTC,而是另一个位置)获取位置对象,而不必以 IANA 时区格式指定它,例如“America/New_York”

我的目的很简单:我有一个在固定位置运行的 Web 服务器,我可以很容易地获取本地时间。现在我想根据访问者的位置(由 url 参数发送,例如http://myserver.com/do_something?timezone=-8)进行时间计算。

【问题讨论】:

  • 如果你做的事情正确,你不应该关心你的服务器在什么位置。UTC适用于任何地方。只需获取 UTC 时间,而不是服务器的本地时间。服务器的本地时间应该与您的应用程序无关。此外,请记住,偏移量仅适用于单个时间点,其中时区表示可能适用的 所有 偏移量。 America/New_York 在标准时间是 UTC-5,在夏令时是 UTC-4。另请参阅the timezone tag wiki 中的“时区!= 偏移量”。
  • @MattJohnson 我想以当地时间显示时间。考虑一下两天后你想在上海买一张电影票的用例,你现在在伦敦,今晚要飞到那里。您希望时间为当地时间。

标签: go timezone


【解决方案1】:

我找到了:

time.FixedZone(name string, offset int)

这将创建一个具有给定名称(这并不重要)和偏移量的位置。

【讨论】:

    猜你喜欢
    • 2010-11-19
    • 2018-03-01
    • 2011-11-08
    • 2012-03-22
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    相关资源
    最近更新 更多