使用 time.Unix() 和 time.Parse() 初始化的 time.Time 具有完全相同的 unix 时间戳,使用 time.Format("2006-01-02") 打印不同的结果
这个问题在操场上是不可重现的,但如果我自己编译它,我就会明白。
我的默认时区是洛杉矶,可能在不同的时区结果会有所不同。
go 版本 go 版本 go1.12.1 darwin/amd64
去建造
。/测试
测试.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),但是日期不同。为什么?