如何解析“ 2019-09-19 04:03:01.770080087 +0000 UTC”时间戳

时间:2019-09-20 15:55:52

标签: go time timestamp utc

我将如何解析此时间戳?

"2019-09-19 04:03:01.770080087 +0000 UTC"

我尝试了以下操作:

formatExample := obj.CreatedOn // obj.CreatedOn = "2019-09-19 04:03:01.770080087 +0000 UTC"
time, err := time.Parse(formatExample, obj.CreatedOn)
check(err)
fmt.Println(time)

但是我得到的输出是:

0001-01-01 00:00:00 +0000 UTC

3 个答案:

答案 0 :(得分:1)

您传递给解析的时间格式不是“示例”格式。每个时间字段都有一个不同的值:

Mon Jan 2 15:04:05 -0700 MST 2006

例如,如果要以格式描述年份,则必须使用2006。因此,格式必须为:

2006-01-02 15:04:05.000000000 -0700 MST

答案 1 :(得分:0)

  

Parse解析格式化的字符串并返回它表示的时间值。该布局通过显示参考时间的定义方式定义了格式,

     

Mon Jan 2 15:04:05 -0700 MST 2006

     

如果是值,将被解释;它用作输入格式的示例。然后将对输入字符串进行相同的解释。

formatExample := "2006-01-02 15:04:05.999999999 -0700 MST"

https://play.golang.org/p/APkXHUAhMQ3

答案 2 :(得分:-1)

一个小宝贝会做

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02 15:04:05 -0700 MST"
    t, _ := time.Parse(layout, "2019-09-19 04:03:01.770080087 +0000 UTC")
    fmt.Println(t)
}

输出:

2019-09-19 04:03:01.770080087 +0000 UTC