dongshetao1814
2019-06-20 17:57
浏览 906
已采纳

将UTC时间转换为Golang中的时间戳[关闭]

I want to convert UTC time (a string) in the following format

2018-05-11T01:32:29.477-06:00

to

time.Time or timestamp.Timestamp objects in Go.

Here are links to the libraries:

Time - https://golang.org/pkg/time/

Timestamp -https://github.com/golang/protobuf/blob/master/ptypes/timestamp.go

I've tried formatting the string to unix time and later on converting to time.Time with no luck.

Here's some code snippet to further explain this:

stringUTC := "2018-05-11T01:32:29.477-06:00"
i, err := strconv.ParseInt(stringUTC, 10, 64)
if err != nil {
    panic(err) // results in error and panics
}
tm := time.Unix(i, 0)

图片转代码服务由CSDN问答提供 功能建议

我想以以下格式转换UTC时间(字符串)

2018-05-11T01:32:29.477-06:00

time.Time timestamp.Timestamp 对象在Go中。 < p>以下是这些库的链接:

时间- https:/ /golang.org/pkg/time/

时间戳-”> https://github.com/golang/protobuf/blob/master/ptypes/timestamp.go

我已经尝试过 将字符串格式化为unix时间,然后再转换为 time.Time ,没有运气。

下面是一些代码段,以进一步说明这一点: \ n

  stringUTC:=“” 2018-05-11T01:32:29.477-06:00“ 
i,err:= strconv.ParseInt(stringUTC,10,64)
if err!= nil {  
恐慌(错误)  //导致错误和恐慌
} 
tm:= time.Unix(i,0)
   
 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douxing1969 2019-06-20 18:42
    已采纳

    You should use golang.org/pkg/time/#Parse. Your string can be converted to time.Time like this:

    str := "2018-05-11T01:32:29.477-06:00"
    layout := "2006-01-02T15:04:05.000Z07:00"
    t, _ := time.Parse(layout, str)
    
    点赞 评论

相关推荐 更多相似问题