Go 如何提取unix时间戳并获取日期

Go 如何提取unix时间戳并获取日期,go,Go,我有一个整数 x := 1468540800 我想从Golang的unix时间戳中提取日期。我尝试了time.ParseDuration,但似乎这不是从中提取日期的正确方法。对话应该这样进行 我打算转换成ISO 8601格式的文件。我想要像2016-09-14这样的字符串,并将纳秒设置为0 t := time.Unix(int64(x), 0) 操场:。您可以结合time.Unix使用strconv.ParseInt()解析为int64 myTime,errOr := strconv.Par

我有一个整数

x := 1468540800
我想从Golang的unix时间戳中提取日期。我尝试了
time.ParseDuration
,但似乎这不是从中提取日期的正确方法。对话应该这样进行
我打算转换成ISO 8601格式的文件。我想要像
2016-09-14

这样的字符串,并将纳秒设置为0

t := time.Unix(int64(x), 0)

操场:。

您可以结合time.Unix使用strconv.ParseInt()解析为int64

myTime,errOr := strconv.ParseInt(x, 10, 64)
    if errOr != nil {
        panic(errOr)
    }
    newTime := time.Unix(myTime, 0)

您可以使用
t:=time.Unix(int64(x),0)
并将位置设置为本地时间。
或者使用
t:=time.Unix(int64(x),0).UTC()
,并将位置设置为UTC

您可以使用
t.Format(“2006-01-02”)
来格式化, 代码(试用):

输出:

2016-07-15

谢谢,我试过了,我注意到1468540800结果变成了
2016-07-14 19:00:00-0500 CDT
,而如果我尝试验证它,我会显示日期为2016-07-15,有什么原因吗?@love2code时区。你得到的“-0500”应该是一个很好的提示。谢谢,我尝试了这个,我注意到1468540800结果进入
2016-07-14 19:00:00-0500 CDT
,而如果我尝试验证它,我会显示日期为2016-07-15,有什么原因吗?@love2code将时间打印为UTC而不是本地时区。e、 g.
fmt.Println(newtime.UTC())
package main

import (
    "fmt"
    "time"
)

func main() {
    x := 1468540800
    t := time.Unix(int64(x), 0).UTC() //UTC returns t with the location set to UTC.
    fmt.Println(t.Format("2006-01-02"))
}
2016-07-15