2016-07-26 531 views

回答

5

我發現這個佈局的工作: 「2006-01-02T15:04:05-0700」

+1

我不知道爲什麼這個答案被擊倒投票即'time.RFC3339'不起作用,但這種佈局工作。 – witoong623

+2

'time.RFC3339'不適用於ISO 8601.示例:https://play.golang.org/p/gIi7D5KuWa –

1

RFC3339相當於ISO 8601具體而言,它具有相同的格式,RFC3339只是有更嚴格的要求(例如,它需要4位數年份的完整日期表示)。

What's the difference between ISO 8601 and RFC 3339 Date Formats?

所以,你可以使用常量time.RFC3339爲您的佈局。

+3

這是不正確的。看例子:https://play.golang.org/p/gIi7D5KuWa –

+0

@TravisSmith看看這個[問題](https://github.com/golang/go/issues/9346) – nouney

+0

這個問題是關於不是瞭解「Z07:00」在佈局中意味着什麼,但這裏的問題是關於冒號。 – AndreKR

1

這裏的問題是RFC3339 requires區域偏移量被賦予「+00:00」(或者在UTC的情況下爲「Z」),而ISO8601允許它爲「+0000」。

RFC3339

[...] 

time-numoffset = ("+"/"-") time-hour ":" time-minute 
time-offset  = "Z"/time-numoffset 

[...] 

full-time  = partial-time time-offset 
date-time  = full-date "T" full-time 

因此而不是time.RFC3339佈局

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

,你必須使用:

"2006-01-02T15:04:05Z0700" 
相關問題