【发布时间】:2023-03-22 16:44:01
【问题描述】:
我需要使用 RFC2616(HTTP 日期的标准)格式化时间戳。但是,标准说:
所有 HTTP 日期/时间戳必须以格林威治标准时间 (GMT) 表示,无一例外。
从一点挖掘来看,GMT 和 UTC 不是一回事。有没有一种正确的方法可以在 Go 中将时间戳转换为 GMT?
【问题讨论】:
-
您不能将时间戳格式化为 GMT,因为 GMT 不是一种格式。这是一个时区。
我需要使用 RFC2616(HTTP 日期的标准)格式化时间戳。但是,标准说:
所有 HTTP 日期/时间戳必须以格林威治标准时间 (GMT) 表示,无一例外。
从一点挖掘来看,GMT 和 UTC 不是一回事。有没有一种正确的方法可以在 Go 中将时间戳转换为 GMT?
【问题讨论】:
使用 http.TimeFormat 布局来格式化 HTTP 标头的时间。此布局采用 UTC 位置的时间。
s := t.UTC().Format(http.TimeFormat)
如果已知时间为 UTC,则可以跳过对 UTC() 的调用:
s := t.Format(http.TimeFormat)
【讨论】: