douwan2664
douwan2664
2016-02-28 21:20
浏览 443
已采纳

如何使用Golang将UTC时间转换为Unix时间戳

I am looking for an option to convert UTC time string to unix timestamp.

The string variable I have is 02/28/2016 10:03:46 PM and it needs to be converted to a unix timestamp like 1456693426

Any idea how to do that?

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

我正在寻找将UTC时间字符串转换为Unix时间戳的选项。 < p>我拥有的字符串变量是 02/28/2016 10:03:46 PM ,需要将其转换为unix时间戳,例如 1456693426 \ n

有什么想法吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dsds33222
    dsds33222 2016-02-28 22:58
    已采纳

    First of, the unix timestamp 1456693426 does not have the time 10:03:46 PM but 9:03:46 PM in UTC.

    In the time package there is the function Parse with expects a layout to parse the time. The layout is constructed from the reference time Mon Jan 2 15:04:05 -0700 MST 2006. So in your case the layout would be 01/02/2006 3:04:05 PM. After using Parse you get a time.Time struct on which you can call Unix to receive the unix timestamp.

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        layout := "01/02/2006 3:04:05 PM"
        t, err := time.Parse(layout, "02/28/2016 9:03:46 PM")
        if err != nil {
            fmt.Println(err)
        }
        fmt.Println(t.Unix())
    }
    
    点赞 评论

相关推荐