Avatar ·

在Go中解析RFC-3339 / ISO-8601格式的日期和时间

大家好!我刚开始学习Go,遇到了解析日期时间字符串的问题。我需要处理来自JSON API的数据,其中日期以"2023-12-25T15:30:00Z"或"2023-12-25T18:30:00+03:00"格式出现(这似乎是RFC-3339或ISO-8601)。 我知道Go中有`time`包和`time.Parse`函数,但我不明白应该指定什么格式模板。我尝试过类似`"2006-01-02T15:04:05Z07:00"`的东西,但遇到了错误。这是我的代码: ```go package main import ( "fmt" "time" ) func main() { dateStr := "2023-12-25T15:30:00Z" layout := "2006-01-02T15:04:05Z07:00" parsedTime, err := time.Parse(layout, dateStr) if err != nil { fmt.Println("解析错误:", err) return } fmt.Println(parsedTime) } ``` 报错:`parsing time "2023-12-25T15:30:00Z" as "2006-01-02T15:04:05Z07:00": cannot parse "Z" as "Z07:00"`。 我尝试了很多模板变体,但都不起作用。请告诉我如何正确解析这样的日期。