ホームページ >バックエンド開発 >Golang >Windows 上で Go の「time.Now()」が「2009-11-10 23:00:00 0000 UTC」を返すのはなぜですか?

Windows 上で Go の「time.Now()」が「2009-11-10 23:00:00 0000 UTC」を返すのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-04 11:12:11377ブラウズ

Why Does Go's `time.Now()` Return

Windows で Go Time.Now() が矛盾した時刻を生成する

Go プログラミング言語では、 time.Now() 関数が使用されます現在時刻を取得します。ただし、Windows 7x64 のユーザーは、返される時間が一貫して「2009-11-10 23:00:00 0000 UTC」に設定されるという異常に遭遇したと報告しています。

この動作は意図されたものではなく、次のように特定されています。バグです。 Go のバージョンや特定のシステム設定などの要因の組み合わせによって発生する可能性があります。

GoLang の誕生日

奇妙なことに、固定時刻は「2009-11-」です。 10 23:00:00 0000 UTC」は、GoLang の開始日として重要な意味を持ちます。この言語の対話型チュートリアルである Go ツアーは、多くの場合、この固定時間で仮想マシン上で実行されます。

原因と解決策

Go バージョン 1.3 以降へのアップグレード問題を解決することが判明しました。さらに、完全に解決するには、アップグレード後にコンピュータを再起動することをお勧めします。

Go プレイグラウンドの最近のアップデートでも、この異常に対処しています。ただし、独自のコードでこの問題が発生している場合は、誤って Go ツアーを実行していないか、固定時間が設定されている仮想マシンを使用していないかを確認することをお勧めします。

結論

「2009-11-10 23:00:00 0000 UTC」という固定時刻には、興味深い歴史的なつながりがあります。 GoLang では、通常の操作では発生しないはずです。最新バージョンの Go に更新してシステムを再起動すると、time.Now() が Windows マシン上の現在時刻を正確に返します。

以上がWindows 上で Go の「time.Now()」が「2009-11-10 23:00:00 0000 UTC」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。