创建具有时区偏移量的时间对象
如何创建包含特定时区偏移量的 time.Time 对象?假设我们有一个时间戳格式为“[07/Mar/2004:16:47:46 -0800]”的 Apache 日志。将其解析为组件后,我们想要构造一个包含“-0800”时区偏移量的 time.Time 对象。
要解决此问题,请使用 time.FixedZone() 创建自定义 time.Location所需的偏移量。例如:
loc := time.FixedZone("myzone", -8*3600) nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, loc)
这里,“myzone”是为自定义位置指定的任意名称,“-8*3600”表示与 UTC 的时差(以秒为单位)。
或者,如果您将时区偏移量作为字符串,请使用带有定制布局的 time.Parse() string:
t, err := time.Parse("-0700", "-0800") if err != nil { panic(err) } nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, t.Location())
此方法使用字符串设置偏移量,确保生成的 time.Time 对象反映所需的时区。
以上是如何创建具有特定时区偏移量的 time.Time 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!