Joa*_*kim 7 datetime json iso8601 go rfc3339

背景

我正在学习Go,我正在尝试对日期时间进行一些JSON解组.

strftime
%Y-%m-%dT%H:%M:%S.%f%z
%fstrftime

这将产生以下结果:

2016-08-08T21:35:14.052975+0200

然而,在Go中解组这个不起作用:https: //play.golang.org/p/vzOXbzAwdW

package main

import (
    "fmt"
    "time"
)

func main() {
    t, err := time.Parse(time.RFC3339Nano, "2016-08-08T21:35:14.052975+0200")
    if err != nil {
        panic(err)
    }
    fmt.Println(t)
}

输出:

panic: parsing time "2016-08-08T21:35:14.052975+0200" as "2006-01-02T15:04:05.999999999Z07:00": cannot parse "+0200" as "Z07:00"
02:00:strftime0200

所以我需要在我的C程序中修复它以输出正确的格式.

 %z     The +hhmm or -hhmm numeric timezone (that is, the hour and
              minute offset from UTC). (SU)

但是,现在我有一堆JSON文件格式不正确:

2016-08-08T21:35:14.052975+0200
:
2016-08-08T21:35:14.052975+02:00

但我仍然希望能够在我的Go程序中正确解组它.优选地,仅具有此差异的两个不同JSON文件应以完全相同的方式解析.

关于封送回JSON,应该使用正确的格式.

struct
Time            time.Time `json:"time"`

所以问题是,这样做的"Go"方式是什么?

RFC3339Nanojson:"time"