1405936049
的 unix_timestamp 对应于:2014-07-21 09:47:29
。我的目标是从时间戳中导出后一种形式。
阅读格式文档后,我得出以下结论:
fmt.Println(time.Unix(1405936049, 0).Format("2006-01-02 15:04:05"))
产生:2014-07-21 02:47:29
,这是有道理的,因为time.Unix(1405936049, 0)
给出:2014 -07-21 02:47:29 -0700 PDT
(要明确的是,我想要:2014-07-21 09:47:29,时间不正确)。
我确信如果我知道正确的术语,我就能在文档中找到解决方案,但此时,我不确定如何告诉解析器解释 -0700
或者替代解决方案可能是使用 time.Unix() 之外的其他解决方案,以便生成的时间已经考虑了小时差?任何帮助将不胜感激。
最佳答案
您需要 UTC 时间,而不是本地的 PDT 时间。例如,
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Unix(1405936049, 0).UTC().Format("2006-01-02 15:04:05"))
}
输出:
2014-07-21 09:47:29
关于go - Unix时间戳格式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24871789/