Golang time.Now() is always 2009-11-10 23:00:00 +0000 UTC

匿名 (未验证) 提交于 2019-12-03 02:24:01

问题:

im running Go version 1.3 on windows 7x64, after run the following code i always get 2009-11-10 23:00:00 +0000 UTC

package main  import (     "fmt"     "time" )  func main() {     fmt.Println(time.Now()) } 

i know that go playgroud have this fixed time for one reason, but i don't understand why i get this date in my box

UPDATE: I realized this issue by upgrading the go version from 1.2.2 to 1.3

Trying to reproduce the issue, i realized this had been fixed after switching off and on computer next day.

I recommend to restart the computer after upgrading to 1.3

回答1:

That time is the fixed time used in the Go Tour as mentioned in the Go Tour limitations

In the playground the time begins at 2009-11-10 23:00:00 UTC (determining the sigificance of this date is an exercise for the reader). This makes it easier to cache programs by giving them deterministic output.

Are you sure you were not running code there? Possibly local version - you can download and run the tour.



回答2:

I'm unable to reproduce your issue:

C:\gopath\src\timenow>go version go version go1.3 windows/amd64 C:\gopath\src\timenow>go env set GOARCH=amd64 set GOBIN=C:\go\bin set GOCHAR=6 set GOEXE=.exe set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOOS=windows set GOPATH=C:\gopath set GORACE= set GOROOT=C:\go set GOTOOLDIR=C:\go\pkg\tool\windows_amd64 set CC=gcc set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 set CXX=g++ set CGO_ENABLED=1 C:\gopath\src\timenow>type timenow.go package main  import (         "fmt"         "time" )  func main() {         fmt.Println(time.Now()) } C:\gopath\src\timenow>go run timenow.go 2014-07-02 17:33:20.3270287 -0400 EDT C:\gopath\src\timenow>time The current time is: 17:33:23.60 Enter the new time: C:\gopath\src\timenow> 

What output do you get when you run these commands?



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!