gpt4 book ai didi

date - 如何使用不带数字偏移量的默认区域格式化日期

转载 作者:行者123 更新时间:2023-12-01 22:40:46 25 4
gpt4 key购买 nike

如果我将日期从数据库扫描到包含time.Time日期的结构,则默认情况下它将如下所示:

"2019-11-27T16:38:55+07:00"

有没有办法像这样格式化它,而无需重新解析所有具有time.Time类型的东西?
"0001-01-01T00:00:00Z"

我可以手动重新格式化所有内容,但是必须有更好的方法。因为我要扫描一个 slice ,以便重新格式化日期,所以我必须循环执行结果。

有什么建议吗?

最佳答案

您可以使用time.Time.UTC()方法获取UTC时区中的时间值,然后再次将其重新格式化为字符串,然后将获得UTC中的等效日期。

str1 := "2019-11-27T16:38:55+07:00"
tme1, _ := time.Parse(time.RFC3339, str1)

tme2 := tme1.UTC()
str2 := tme2.Format(time.RFC3339)

fmt.Println("str1", str1) // str1 2019-11-27T16:38:55+07:00
fmt.Println("str2", str2) // str2 2019-11-27T09:38:55Z

工作游乐场 https://play.golang.org/p/7uRKDeRZBUx


这是针对将由前端应用程序使用的API,要求该API的格式如下。

无论是使用javascript,go还是任何其他编程/脚本语言,解析不同时区中的等效日期字符串都将产生等效日期。看看下面的js示例:
console.log(new Date("2019-11-27T16:38:55+07:00").toString())
// "Wed Nov 27 2019 16:38:55 GMT+0700 (Western Indonesia Time)"

console.log(new Date("2019-11-27T09:38:55Z").toString())
// "Wed Nov 27 2019 16:38:55 GMT+0700 (Western Indonesia Time)"

请参阅两个日期解析操作,在解析并转换为字符串后会生成相同的字符串

关于date - 如何使用不带数字偏移量的默认区域格式化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59608169/

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