如何在Golang中将RFC3339格式转换为ISO8601?

时间:2018-10-17 09:25:40

标签: datetime go

我有一个正在使用time.Now().Format(time.RFC3339)的时间戳。格式为2018-10-17T07:26:33Z,但是我想要ISO 8601中的格式:2018-10-17T07:26:33.000Z

我到底如何获得这些额外的毫秒数?

3 个答案:

答案 0 :(得分:1)

进行如下所示的自定义布局

package main

import (
    "fmt"
    "time"
)

func main() {
    t1, e := time.Parse(
        time.RFC3339,
        "2018-10-17T07:26:33Z")
    if e != nil {
        fmt.Println(e)
    }
    //2018-10-17T07:26:33.000Z required
    //Layouts must use the reference time Mon Jan 2 15:04:05 MST 2006
    fmt.Println(t1.Format("2006-01-02T15:04:05.000Z"))

}

答案 1 :(得分:0)

使用

t := time.Now()
var fdatevalue string
// outstr = fmt.Sprintf("%02d%02d%02d%02d%02d", t.Month(), t.Day(), t.Hour(),       t.Minute(), t.Second())
fdatevalue=fmt.Sprintf("%02d%02d%2dT%2d:%2d:%2d", t.Year() , t.Month(), t.Day() , t.Hour(),t.Minute(),t.Second)

答案 2 :(得分:0)

time.Now().Format("2006-01-02T15:04:05.000Z")