2015年03月17日
コンピュータ上で管理している日付の形態について
コンピュータ上で管理している日付の形態には大きく分けて2つ、マイクロソフト系とオラクル系がある。
1. Microsoft系はグレゴリオ歴を採用している
@ COMシステム基準日(OLEオートメーション日付)←.NETFramework以外で使用する旧日付タイプ
起点日付0は、0=1899年12月30日 00:00:00
※本当は0=1900/01/01の予定だったが担当者が間違ってしまったようだ。
A.NETFramework基準日
起点日付0は、0=0001年01月01日 12:00:00
内部的には、倍精度浮動小数点で管理しており、整数部が日付、小数部が時刻を表している。
※起点日付とは、日付領域にゼロを代入した時の日付の値
2. Oracle系はユリウス歴を採用している
取り扱える範囲は、紀元前4712年1月1日から9999年12月31日まで。
内部的に複雑な持ち方をしているようで、関数でしか取り出すことが出来ない。日付設定も関数で行う。
※ ユリウス歴とは、地球が太陽の周りを回る周期を基にして作られた暦法で、太陽暦の一種。ユリウス・カエサルによって制定され、紀元前45年1月1日から実施された。今は主に天文学で使われている。
※ グレゴリオ歴とは、1582年にローマ教皇グレゴリウス13世がユリウス暦を改良して制定した暦法で、現行の太陽暦として世界各国で用いられている。
なぜグレゴリオ歴に切り替わったか
ユリウスの閏日計算が単純だった為、無視できなくなってきた。なぜならユリウス歴で宗教の祭事を行っていたので、自然界の現象と辻褄が合わなくなってきたからである。ユリウス歴ではB.C.45年からA.D.4年の間の閏年の入れ方が誤っていた。1582年10月04日の翌日を10月10日としグレゴリオ歴に切り替えた。
タグ:日付
【このカテゴリーの最新記事】
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/3426570
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック