VariantTimeToDosDateTime 関数 (oleauto.h)

日付と時刻のバリアント表現を MS-DOS の日付と時刻の値に変換します。

構文

INT VariantTimeToDosDateTime(
  [in]  DOUBLE vtime,
  [out] USHORT *pwDosDate,
  [out] USHORT *pwDosTime
);

パラメーター

[in] vtime

変換するバリアント型の時刻。

[out] pwDosDate

変換された MS-DOS 日付を受け取ります。

[out] pwDosTime

変換された MS-DOS 時刻を受信します

戻り値

関数は成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。

注釈

バリアント時刻は、8 バイトの実値 (double) として格納されます。これは、9999 年 1 月 1 日から 9999 年 12 月 31 日までの日付を表します。 値 2.0 は 1900 年 1 月 1 日を表します。3.0 は、1900 年 1 月 2 日などを表します。 値に 1 を追加すると、日付が 1 日ずつインクリメントされます。 値の小数部は、時刻を表します。 したがって、2.5 は 1900 年 1 月 1 日の正午を表します。3.25 は、1900 年 1 月 2 日午前 6 時を表します。 負の数値は、1899 年 12 月 30 日より前の日付を表します。

MS-DOS の日付と時刻の形式の説明については、「 DosDateTimeToVariantTime」を参照してください。

VariantTimeToDosDateTime 関数は無効な日付を受け入れ、VARIANT 時刻に解決するときに修正しようとします。 たとえば、2001 年 2 月 29 日などの無効な日付は、2001 年 3 月 1 日に解決されます。 日のみが固定されているため、無効な月の値を指定するとエラーが返されます。 日数は 1 から 31 の間にチェックされます。 負の日数と 31 日を超える場合、エラーが発生します。 31 日未満で、その月の最大日より大きい日は、その日が翌月の適切な日に昇格します。 0 に等しい日は、前月の最後の日として解決されます。 たとえば、2001 年 2 月 0 日などの無効な日付は、2001 年 1 月 31 日に解決されます。

要件

要件
対象プラットフォーム Windows
ヘッダー oleauto.h
Library OleAut32.lib
[DLL] OleAut32.dll