go - 在知道 UTC 时间和时间偏移量的情况下如何设置 Go 时间值的区域?

标签 go timezone

我有一个 UTC 时间和一个以秒为单位的时间偏移量,需要返回相应的 Go 时间值。

使用 time.Unix() 函数实例化 UTC 时间值很简单。但是要设置区域,我需要确定时间。位置。

如何在知道 UTC 时间和时间偏移量的情况下找到时间。位置?

最佳答案

如果没有在时区数据库中查找的实际条目,您就无法知道时间的真实位置。如果只想使用偏移量,可以使用 time.FixedZone 创建固定位置

edt := time.FixedZone("EDT", -60*60*4)
t, _ := time.ParseInLocation("02 Jan 06 15:04", "15 Sep 17 14:55", edt)
fmt.Println(t)

// 2017-09-15 14:55:00 -0400 EDT

您可以选择指定不存在的区域名称,或者根本不指定区域名称,只要您使用的输出格式不需要。

minus4 := time.FixedZone("", -60*60*4)
t, _ = time.ParseInLocation("02 Jan 06 15:04", "15 Sep 17 14:55", minus4)
fmt.Println(t.Format(time.RFC3339))

// 2017-09-15T14:55:00-04:00

关于go - 在知道 UTC 时间和时间偏移量的情况下如何设置 Go 时间值的区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46245784/

相关文章:

pointers - 指针变量的地址何时更改?

Golang rpc获取错误的结构变量

python - pd.to_datetime 返回一个对象,而不是时间序列

Azure SDK for Go - 在 *keyVault.Properties.EnableSoftDelete 上断言 nil 或 false

go - golang 中如何将 slice 转换为字符串?

go - 六边形架构中的哪些地方适合周期性的后台任务?

PHP date_create 函数,使用时区缩写将 UTC 时间转换为不同的时区

jquery - Rails jquery 日期选择器时区

asp.net - 如何为我的 ASP.NET (MVC) 应用程序设置时区

javascript - 为全局所有商店创建从上午9点开始的促销 Activity