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

将 RFC3339 字符串解析为时间时无法将时间解析为 T

将 RFC3339 字符串解析为时间时无法将时间解析为 T

Go
慕姐4208626 2022-05-23 15:53:03
我有一个来自 db 的字符串,比如说dbString := "2020-03-16 14:46:13 +0530 IST"我的要求是将此字符串作为 Timestamptz 插入到另一个表中我正在尝试将 dbString 转换为 TimetimeToBeInserted := time.Parse(time.RFC3339,t.VO.DateLastModified)我看到以下错误+0000 UTC parsing time "2020-03-16 14:46:13 +0530 IST" as "2006-01-02T15:04:05Z07:00": cannot parse " 14:46:13 +0530 IST" as "T"
查看完整描述

2 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

您的日期字符串与RFC3339格式不匹配:


RFC3339     = "2006-01-02T15:04:05Z07:00"

您应该使用自定义格式。以下一个适用于您的字符串:


dbString := "2020-03-16 14:46:13 +0530 IST"

fmt.Println(time.Parse("2006-01-02 15:04:05 -0700 MST", dbString))



// Output:

// 2020-03-16 14:46:13 +0530 IST <nil>


查看完整回答
反对 回复 2022-05-23
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

您的时间字符串不是 RFC3339 格式,所以不要time.Parse说它是。而是使用

time.Parse("2006-01-02 15:04:05 -0700 MST", t.VO.DateLastModified)


查看完整回答
反对 回复 2022-05-23
  • 2 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

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