gpt4 book ai didi

go - 如何将当前时间格式化为 YYYY-MM-DDTHH :MM:SSZ

转载 作者:IT王子 更新时间:2023-10-29 02:31:01 24 4
gpt4 key购买 nike

之前从未尝试过 Go,目前正在做一个小项目。其中一项任务是获取当前系统时间并以 YYYY-MM-DDT00:00:00Z 格式表示。我相信 Z 表示时间以 UTC 格式表示,但当我查看数据库时,所有时间戳都是这样的,即 2011-11-22T15:22:10Z

那么我如何在 Go 中格式化成这样呢?

更新我能够使用以下代码对其进行格式化

t := time.Now()
fmt.Println(t.Format("2006-01-02T15:04:05Z"))

现在的问题是,Z 在这里表示什么。我应该得到 UTC 时间吗?

另一个问题,看起来我用来格式化的值会影响输出,即当我使用 2019-01-02T15:04:05Z 时,输出变成了 2029-02 -02T20:45:11Z,为什么?

最佳答案

Go 提供了非常灵活的方式来通过实例解析时间。为此,您必须以您选择的格式编写“引用”时间。引用时间是 Mon Jan 2 15:04:05 MST 2006。在我的例子中,我使用这个引用时间来解析 Now():

fmt.Println(time.Now().UTC().Format(time.RFC3339))

如果想看的话还有其他的引用类型:

RFC822      = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"

或者您可以使用您想要的引用。

关于go - 如何将当前时间格式化为 YYYY-MM-DDTHH :MM:SSZ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54499195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com