次の方法で共有


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 オブジェクトを作成した場合、その日付は受け付けられますが、以降の GetYearGetMonthGetDayGetHourGetMinute、および GetSecond の呼び出しは失敗し、-1 が返されます。 以前は、2 桁の日付を使用できましたが、MFC 4.2 以降では 100 以上の日付を使用する必要があります。

この問題を回避するには、4 桁の年数を指定します。 次に例を示します

COleDateTime mytime(1996, 1, 1, 0, 0, 0); 

COleDateTime 値の基本的な算術演算には、コンパニオン クラスである COleDateTimeSpan が使用されます。 COleDateTimeSpan 値は時間間隔を定義します。 これらのクラス間の関係は、CTime クラスCTimeSpan クラスの関係に似ています。

詳細については、COleDateTimeCOleDateTimeSpanクラスの資料を参照して日付と時刻:オートメーションのサポート

必要条件

**ヘッダー:**ATLComTime.h

参照

参照

COleVariant クラス

CTime クラス

CTimeSpan クラス

階層図

その他の技術情報

COleDateTime のメンバー

ATL/MFC の共有クラス