DATE データ型

更新 : 2007 年 11 月

DATE データ型は、8 バイトの浮動小数点数を使って実装されています。日付は、1899 年 12 月 30 日の午前零時を 0 として、整数値の増分で表現されます。時間は、数値の小数部分の絶対値として表現されます。次の表は、いくつかの日付の例と、その DATE 型に対応する数値を示したものです。

日付と時刻

対応する数値

1899 年 12 月 30 日午前零時

0.00

1900 年 1 月 1 日午前零時

2.00

1900 年 1 月 4 日午前零時

5.00

1900 年 1 月 4 日午前 6 時

5.25

1900 年 1 月 4 日正午

5.50

1900 年 1 月 4 日午後 9 時

5.875

DATE データ型と COleDateTime クラスでは、このような数値として日付と時刻を扱います。COleDateTime クラスには、他の一般的な日付形式との間で変換処理を行うメソッドなど、DATE 値を扱うための、さまざまなメソッドが含まれています。

こうした日時形式をオートメーションで使用する際は、次の点に注意してください。

  • 日付は現地時刻で指定されるため、異なるタイム ゾーンの日付を扱う場合は、手動で同期させる必要があります。

  • 日付型では、夏時間は考慮されません。

  • 0 より小さい (1899 年 12 月 30 日より前) 日付値では、日付の時系列が不連続になります。これは、日付値の整数部分が符号付きで表現されるのに対し、小数部分は符号なしで表現されるためです。つまり、日付値の整数部分は正と負の両方の値を取るのに対し、小数部分は常に論理上の日付全体に加算されます。次の表に具体的な例をいくつか示します。

日付と時刻

対応する数値

1899 年 12 月 27 日午前零時

-3.00

1899 年 12 月 28 日正午

-2.50

1899 年 12 月 28 日午前零時

-2.00

1899 年 12 月 29 日午前零時

-1.00

1899 年 12 月 30 日午後 6 時

-0.75

1899 年 12 月 30 日正午

-0.50

1899 年 12 月 30 日午前 6 時

-0.25

1899 年 12 月 30 日午前零時

0.00

1899 年 12 月 30 日午前 6 時

0.25

1899 年 12 月 30 日正午

0.50

1899 年 12 月 30 日午後 6 時

0.75

1899 年 12 月 31 日午前零時

1.00

1900 年 1 月 1 日午前零時

2.00

1900 年 1 月 1 日正午

2.50

1900 年 1 月 2 日午前零時

3.00

-1.0 から 0.0 までの日付値と、その対応する絶対値の日付値とが、同じ論理日付を表している点に注意してください。これは、日付値の負の整数部分から、丸一日分を減じることなく、小数部分が加算されているためです。

DATE 型および COleDateTime 型の詳細については、「COleDateTime クラス」および「日付と時刻 : オートメーションのサポート」を参照してください。

参照

概念

日付と時刻

参照

COleDateTime クラス