如何使用golang将UTC时间转换为unix时间戳

时间:2016-02-28 21:20:40

标签: go

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

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

这样的unix时间戳

知道怎么做吗?

1 个答案:

答案 0 :(得分:7)

首先,unix时间戳1456693426在UTC中没有时间10:03:46 PM而是9:03:46 PM

time包中有函数Parse,期望布局来解析时间。布局由参考时间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())
}