Golang time.Now() всегда 2009-11-10 23:00:00 +0000 UTC
im работает Go версии 1.3 на windows 7x64, после запуска следующего кода я всегда получаю 2009-11-10 23:00:00 +0000 UTC
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Now())
}
Я знаю, что gog play имеет это фиксированное время по одной причине, но я не понимаю, почему я получаю эту дату в своем ящике
UPDATE:
Я понял эту проблему, обновив версию go от 1.2.2 до 1.3
Попытка воспроизвести проблему, я понял, что это было исправлено после отключения и на компьютере на следующий день.
Я рекомендую перезагрузить компьютер после обновления до версии 1.3
Ответы
Ответ 1
Это время - фиксированное время, используемое в Go Tour, как указано в ограничениях Go Tour
На игровой площадке время начинается в 2009-11-10 23:00:00 UTC (определение синтаксиса этой даты - упражнение для читателя). Это облегчает кэширование программ, предоставляя им детерминированный результат.
Вы уверены, что там не запущен код?
Возможно, локальная версия - вы можете скачать и запустить тур.
Ответ 2
Я не могу воспроизвести вашу проблему:
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>
Какой результат вы получаете при выполнении этих команд?
Ответ 3
Это дата и время рождения Go Langs.
Они используют это как фиксированное время в Go Tour, так что, возможно, вы запускаете тур.