一尘不染

如何将UTC时间转换为Unix时间戳

go

我正在寻找将UTC时间字符串转换为Unix时间戳的选项。

我拥有的字符串变量是02/28/2016 10:03:46 PM,需要将其转换为unix时间戳,例如1456693426

任何想法如何做到这一点?


阅读 252

收藏
2020-07-02

共1个答案

一尘不染

首先,unix时间戳1456693426没有时间,10:03:46 PM9:03:46 PM以UTC为单位。

time包有功能解析与预计解析时的布局。布局是从参考时间开始构造的Mon Jan 2 15:04:05 -0700 MST 2006。因此,在您的情况下,布局应为01/02/2006 3:04:05 PM。使用Parse之后,您将获得一个time.Time可以调用Unix来接收Unix时间戳的结构。

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())
}
2020-07-02