時間操作のデフォルト標準として日付(1970年1月1日)を使用する理由はありますか?私はこの標準をPythonだけでなくJavaでも見ました。私が知っているこれらの2つの言語。同じ標準に従う他の人気のある言語はありますか?
記述してください。
時間操作のデフォルト標準として日付(1970年1月1日)を使用する理由はありますか?私はこの標準をPythonだけでなくJavaでも見ました。私が知っているこれらの2つの言語。同じ標準に従う他の人気のある言語はありますか?
記述してください。
回答:
日付(1970年1月1日)をデフォルトの標準として使用
質問は、2つの誤った仮定を行います。
コンピューティングの時間は、1970 UTCの初めから常に追跡されるわけではありません。そのエポックリファレンスは人気がありますが、数十年にわたるさまざまなコンピューティング環境では、少なくとも約24のエポックが使用されてきました。一部は他の世紀のものです。それらの範囲は0年(ゼロ)から2001年までです。
ここにいくつかあります。
紀元前1年1月0日
1月1日、AD 1
1582年10月15日
1601年1月1日
1840年12月31日
1858年11月17日
1899年12月30日
1899年12月31日
1900年1月1日
1904年1月1日
1967年12月31日
1980年1月1日
1980年1月6日
2000年1月1日
2001年1月1日
1970年の初めは、おそらくUnixで使用されているため、人気があります。しかし、決してそれが支配的ではありません。例えば:
January 0, 1900
(1899年12月31日)。1 January 2001, GMT
January 6, 1980
欧州の代替しばらくガリレオの用途22 August 1999
。count-since-epochがUnixエポックを使用していると仮定すると、バグの大きな脆弱性が開かれます。このようなカウントは人間が即座に解読することは不可能であるため、デバッグやロギングの際にエラーや問題に簡単にフラグを付けることはできません。別の問題は、以下に説明する粒度のあいまいさです。
代わりに、日付の値を、整数のカウント以降のエポックではなく、データ交換用の明確なISO 8601文字列としてシリアル化することを強くお勧めYYYY-MM-DDTHH:MM:SS.SSSZ
し2014-10-14T16:32:41.018Z
ます。
カウント以降のエポックタイムトラッキングに関するもう1つの問題は、少なくとも4レベルの解像度が一般的に使用される時間単位です。
時間操作の標準として日付(1970年1月1日)を使用する理由はありますか?
重要な理由はありません。
Pythonのtime
モジュールは Cライブラリです。ケントンプソンに画期的な日付としてその日付を選んだ理由を尋ねます。多分それは誰かの誕生日だった。
Excelは2つの異なるエポックを使用します。Excelの異なるバージョンが異なる日付を使用する理由は何ですか?
実際のプログラマーを除いて、これらの種類の決定がなされた理由を誰も知ることはありません。
そして...
日付が選ばれた理由は関係ありません。それだけでした。
天文学者は独自のエポカルデートを使用します:http : //en.wikipedia.org/wiki/Epoch_( astronomy )
どうして?数学がうまくいくように日付を選択する必要があります。任意のランダムな日付が機能します。
過去の日付は、一般的なケースでは負の数を避けます。
よりスマートなパッケージの中には、グレゴリオ暦の1年目を前向きに使用するものがあります。
カレンダー計算のような本で与えられた理由があります:それは数学的にわずかに簡単です。
しかし、それについて考えると、1/1/1と1/1/1970の違いは1969であり、わずかな数学的オフセットです。
1970年1月1日00:00:00 amは、POSIX時間のゼロポイントです。
Q)「なぜ日付は1970年1月1日から計算されるのですか?」
A)できるだけ最近である必要がありますが、過去も含まれています。多くの人が同じように感じているので、他の重要な理由はほとんどありませんでした。
彼らはそれをあまりにも遠くに置くと問題を引き起こすことを知っていましたし、将来にあるとそれが否定的な結果をもたらすことを知っていました。イベントは将来発生する可能性が最も高いため、過去を深く掘り下げる必要はありませんでした。
注: 一方、マヤ人は長期にわたるカレンダーを作成するために過去のことを多く知っていたため、イベントを過去に置く必要がありました。すべての日常的な現象をカレンダーに配置するだけです。
タイムスタンプはカレンダーではなく、エポックです。そして、私はマヤ人が同じ視点を使って彼らの長期カレンダーを作ったと思います。(彼らは過去と何の関係もないことをよく知っていることを意味し、彼らはそれをより大きなスケールで見る必要があっただけです)