如何将UTC时间转换为Unix时间戳
我正在寻找将UTC时间字符串转换为unix时间戳的选项.
I am looking for an option to convert UTC time string to unix timestamp.
我拥有的字符串变量是02/28/2016 10:03:46 PM
,需要将其转换为像1456693426
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
有什么想法吗?
首先,unix时间戳记1456693426
在UTC中没有时间10:03:46 PM
,但是具有9:03:46 PM
.
First of, the unix timestamp 1456693426
does not have the time 10:03:46 PM
but 9:03:46 PM
in UTC.
在time
程序包中,有一个函数解析,希望该布局能够解析时间.布局是从参考时间Mon Jan 2 15:04:05 -0700 MST 2006
构建的.因此,在您的情况下,布局将为01/02/2006 3:04:05 PM
.使用解析后,您将获得一个time.Time
结构,可以在其上调用
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())
}