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 のサポート」を参照してください。