次の方法で共有


COleDateTime クラス

更新 : 2008 年 7 月

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

38wh24td.alert_note(ja-jp,VS.90).gifメモ :

時刻を確認するには、数値の小数部の絶対値を計算します。

COleDateTime クラスは、西暦 100 年 1 月 1 日から、9999 年 12 月 31 日までの日時を処理します。COleDateTime クラスはグレゴリオ暦を使用し、ユリウス暦の日付をサポートしません。COleDateTime では夏時間は無視されます。詳細については、「日付と時刻 : オートメーションのサポート」を参照してください。

38wh24td.alert_note(ja-jp,VS.90).gifメモ :

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 クラスの関係に似ています。

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

必要条件

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

参照

参照

COleVariant クラス

階層図

その他の技術情報

COleDateTime のメンバ

ATL/MFC の共有クラス

履歴の変更

日付

履歴

理由

2008 年 7 月

2 桁の年の日付を取得する場合の警告を追加

コンテンツ バグ修正