4

Dates and Timesの全体的な概念は非常に不安定で、絶えず更新されているため、最初から非常に難しい作業です。うるう年からうるう秒まで、考慮すべき変数はたくさんあります。

John Skeetのライブラリは見栄えが良いですが、これまでに3年かかっており、まだ完璧にはほど遠いです。

Goプログラミング言語が他の言語/ライブラリと比較してDateTimeをどのように異なる方法で、または同様に処理したかについて誰かに教えてもらえますか?これは純粋に好奇心のためです。

この質問は、現在利用可能なライブラリ間の類似点と相違点に関するものです。できれば英語で、ドキュメントのページやページではありません。

4

1 に答える 1

7

Gotimeパッケージのドキュメントとソースコードを参照してください。ATimeは、うるう秒のないナノ秒の精度の瞬間を表します。IANAタイムゾーンデータベースは、タイムゾーンと夏時間に使用されます。タイムゾーンデータベースには、世界中の多くの代表的な場所の現地時間の履歴を表すコードとデータが含まれています。政治団体がタイムゾーンの境界、UTCオフセット、夏時間のルールに加えた変更を反映するために定期的に更新されます。

type Time struct {
    // sec gives the number of seconds elapsed since
    // January 1, year 1 00:00:00 UTC.
    sec int64

    // nsec specifies a non-negative nanosecond
    // offset within the second named by Seconds.
    // It must be in the range [0, 999999999].
    nsec int32

    // loc specifies the Location that should be used to
    // determine the minute, hour, month, day, and year
    // that correspond to this Time.
    // Only the zero Time has a nil Location.
    // In that case it is interpreted to mean UTC.
    loc *Location
}
于 2013-03-18T06:27:48.543 に答える