DATE 型

DATE 型は、8 バイトの浮動小数点数を使用して実装されます。 日付は、1899 年 12 月 30 日の真夜中を 0 として始まる、整数の増分で表されます。 時間の値は、数値の小数部分の絶対値で表されます。 次の表は、いくつかの日付とそれに相当する DATE 型を示しています。

日付と時刻 [表記]
1899 年 12 月 30 日、午前 0 時 0.00
1900 年 1 月 1 日、午前 0 時 2.00
1900 年 1 月 4 日、午前 0 時 5.00
1900 年 1 月 4 日、午前 6 時 5.25
1900 年 1 月 4 日、正午 5.50
1900 年 1 月 4 日、午後 9 時 5.875

DATE 日付型および COleDateTime クラスは、日付と時刻を従来の番号行として表します。 COleDateTime クラスには、他の一般的な日付形式との間の変換など、DATE 値を操作するメソッドがいくつか含まれています。

Automation でこれらの日付と時刻の書式を使用する場合は、次の点に注意する必要があります。

  • 日付はローカル時刻で指定されます。異なるタイムゾーンの日付を操作する場合は、同期を手動で実行する必要があります。

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

  • 日付タイムラインは、0 未満の日付値 (1899 年 12 月 30 日より前) に対して不連続になります。 これは、日付値の整数部分は符号付きとして扱われ、小数部分は符号なしとして扱われるためです。 つまり、日付値の整数部分は正または負のどちらかになりますが、日付値の小数部分は常に論理日付全体に追加されます。 次の表に、いくつかの例を示します。

日付と時刻 [表記]
1899 年 12 月 27 日、午前 0 時 -3.00
1899 年 12 月 28 日、正午 -2.50
1899 年 12 月 28 日、午前 0 時 -2.00
1899 年 12 月 29 日、午前 0 時 -1.00
1899 年 12 月 30 日、午後 6 時 -0.75
1899 年 12 月 30 日、正午 -0.50
1899 年 12 月 30 日、午前 6 時 -0.25
1899 年 12 月 30 日、午前 0 時 0.00
1899 年 12 月 30 日、午前 6 時 0.25
1899 年 12 月 30 日、正午 0.50
1899 年 12 月 30 日、午後 6 時 0.75
1899 年 12 月 31 日、午前 0 時 1.00
1900 年 1 月 1 日、午前 0 時 2.00
1900 年 1 月 1 日、正午 2.50
1900 年 1 月 2 日、午前 0 時 3.00

注意事項

午前 6:00 は、日付を表す整数が正 (1899 年 12 月 30 日以降) または負 (1899 年 12 月 30 日より前) であるかどうかに関わらず、常に小数値 0.25 で表されるため、単純な浮動小数点比較では、1899 年 12 月 30 日よりも前の日付の DATE が表す午前 6:00 は、同じ日の DATE が表す午前 7:00 よりも "遅い" と表され、誤って並べ替えられる点にご注意ください。

DATE と COleDateTime 型に関連する問題の詳細については、「COleDateTime クラス」と「日付と時刻: Automation のサポート」を参照してください。

関連項目

日付と時間
COleDateTime クラス