将 RFC3339 字符串解析为时间时无法将时间解析为 T
Cannot parse time as T when parsing RFC3339 string to time
我有一个来自 db 的字符串,比如
dbString := "2020-03-16 14:46:13 +0530 IST"
我的要求是将此字符串作为 Timestamptz 插入另一个 table
我正在尝试将 dbString 转换为时间
timeToBeInserted := 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"
您的日期字符串不符合 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>
您的时间字符串不是 RFC3339 格式,所以不要告诉 time.Parse
它是。而是使用
time.Parse("2006-01-02 15:04:05 -0700 MST", t.VO.DateLastModified)
我有一个来自 db 的字符串,比如
dbString := "2020-03-16 14:46:13 +0530 IST"
我的要求是将此字符串作为 Timestamptz 插入另一个 table
我正在尝试将 dbString 转换为时间
timeToBeInserted := 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"
您的日期字符串不符合 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>
您的时间字符串不是 RFC3339 格式,所以不要告诉 time.Parse
它是。而是使用
time.Parse("2006-01-02 15:04:05 -0700 MST", t.VO.DateLastModified)