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

use*_*037 5 go

我正在寻找一个选项,将UTC时间字符串转换为unix时间戳.

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

知道怎么做吗?

Dan*_*ilo 10

首先,unix时间戳1456693426没有时间,10:03:46 PM而是9:03:46 PMUTC.

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())
}
Run Code Online (Sandbox Code Playgroud)