为了账号安全,请及时绑定邮箱和手机立即绑定

转换时间字符串

转换时间字符串

Go
慕容森 2022-07-18 16:23:14
我有一个来自 SQL 数据库的日期时间字符串。它存储在阿姆斯特丹当地时间。我想将其转换为 RFC3339 格式以将其添加到 XML 输出中。我的时间字符串 (timeStringFromDb) 具有以下值:“2020-11-27 09:04:05”我使用以下代码来转换日期时间字符串。timezone, _ := time.LoadLocation("Europe/Amsterdam")t, _ := time.Parse("2006-01-02 15:04:05", timeStringFromDb)t = t.In(timezone)fmt.Println(t.Format(time.RFC3339))结果是:2020-11-27T10:04:05+01:00我本来预计 2020-11-27T09:04:05+01:00我看起来像 t.In 函数也转换时间,但我只想添加时区,因为时间已经是本地时间。有任何想法吗?
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

一种方法是将时区附加到来自数据库的字符串:


timeStringFromDb := "2020-11-27 09:04:05"

timezone, _ := time.LoadLocation("Europe/Amsterdam")

t, _ := time.Parse("2006-01-02 15:04:05Z07:00", timeStringFromDb+"+01:00")

t = t.In(timezone)

fmt.Println(t.Format(time.RFC3339))

但这不是很优雅,我建议将数据库的时区更改为 UTC。


查看完整回答
反对 回复 2022-07-18
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信