【发布时间】:2019-10-20 16:56:14
【问题描述】:
使用 time.Unix() 和 time.Parse() 初始化的 time.Time 具有完全相同的 unix 时间戳,使用 time.Format("2006-01-02") 打印不同的结果
这个问题在操场上是无法重现的,但如果我自己编译它就会得到它。
我的默认时区是洛杉矶,可能在不同的时区结果会有所不同。
去版本 去版本go1.12.1 darwin/amd64
开始构建
./测试
test.go:
package main
import (
"fmt"
"time"
)
func main() {
control1 := time.Unix(1546300800, 0)
test, _ := time.Parse("2006-01-02", "2019-01-01")
fmt.Println("control:", control1.Unix(), control1.Format("2006-01-02"))
fmt.Println("test:", test.Unix(), test.Format("2006-01-02"))
}
./测试 管控:1546300800 2018-12-31 测试:1546300800 2019-01-01
所以 unix ts 是相同的 (1546300800),但日期不同。为什么?
【问题讨论】: