我可能错过了一些东西,但是在我的本地系统上,一切都按预期运行,但是在容器中,似乎有些东西
main.go
package main
import (
"fmt"
"time"
)
func main() {
t, err := time.Parse(time.RFC1123, "Fri, 22 Jun 2018 13:00:00 KST")
if err != nil {
panic(err)
}
fmt.Println(t.String())
fmt.Println(t.UTC().String())
fmt.Println(t.UTC().Equal(t))
}
Dockerfile
FROM golang:latest
COPY main.go /go/src/test/main.go
WORKDIR /go/src/test
CMD go run main.go
在我的本地系统上,该程序的输出为:
2018-06-22 13:00:00 +0900 KST
2018-06-22 04:00:00 +0000 UTC
true
但是如果我在容器中构建并运行它,我会得到:
2018-06-22 13:00:00 +0000 KST
2018-06-22 13:00:00 +0000 UTC
true
这似乎是将时区转换为UTC,但并未更改时间,因此它们不相等