COleDateTime クラス
OLE オートメーションで使用される DATE データ型をカプセル化します。
class COleDateTime
解説
COleDateTime には、基本クラスはありません。
このデータ型は、OLE オートメーションの VARIANT データ型で使用できる型の 1 つです。 COleDateTime 値は、絶対日付と時刻を表します。
DATE 型は浮動小数点値として実装されます。 日数は 1899 年 12 月 30 日の午前 0 時から数えられます。 次の表は、いくつかの日付とそれに関連付けられた値を示しています。
日付 |
値 |
---|---|
1899 年 12 月 29 日午前 0 時 |
-1.0 |
1899 年 12 月 29 日午前 6 時 |
-1.25 |
1899 年 12 月 30 日午前 0 時 |
0.0 |
1899 年 12 月 31 日午前 0 時 |
1.0 |
1900 年 1 月 1 日午前 6 時 |
2.25 |
注意
時刻を確認するには、数値の小数部の絶対値を計算します。
COleDateTime クラスは、西暦 100 年 1 月 1 日から 9999 年 12 月 31 日までの日付を処理します。 COleDateTime クラスではグレゴリオ暦が使用され、ユリウス暦はサポートされません。 COleDateTime は夏時間を無視します。 (を参照してください日付と時刻:オートメーションのサポート.)
注意
1900 年以降の日付についてのみ、%y 書式を使用して 2 桁の年を取得できます。 1900 年より前の日付に %y 書式を使用すると、コードで ASSERT エラーが生成されます。
この型は、日付だけ、または時刻だけの値を表すためにも使用されます。 通常は、日付 0 (1899 年 12 月 30 日) は時刻だけの値として使用され、時刻 00:00 (深夜) は日付だけの値として使用されます。
100 未満の日付を使用して COleDateTime オブジェクトを作成した場合、その日付は受け付けられますが、以降の GetYear、GetMonth、GetDay、GetHour、GetMinute、および GetSecond の呼び出しは失敗し、-1 が返されます。 以前は、2 桁の日付を使用できましたが、MFC 4.2 以降では 100 以上の日付を使用する必要があります。
この問題を回避するには、4 桁の年数を指定します。 次に例を示します
COleDateTime mytime(1996, 1, 1, 0, 0, 0);
COleDateTime 値の基本的な算術演算には、コンパニオン クラスである COleDateTimeSpan が使用されます。 COleDateTimeSpan 値は時間間隔を定義します。 これらのクラス間の関係は、CTime クラスと CTimeSpan クラスの関係に似ています。
詳細については、COleDateTimeとCOleDateTimeSpanクラスの資料を参照して日付と時刻:オートメーションのサポート。
必要条件
**ヘッダー:**ATLComTime.h