DosDateTimeToVariantTime 関数 (oleauto.h)

MS-DOS の時刻表現を、バリアントに格納されている日付と時刻の表現に変換します。

構文

INT DosDateTimeToVariantTime(
  [in]  USHORT wDosDate,
  [in]  USHORT wDosTime,
  [out] DOUBLE *pvtime
);

パラメーター

[in] wDosDate

変換する MS-DOS 日付。 MS-DOS 日付の有効な範囲は、1980 年 1 月 1 日から 2099 年 12 月 31 日までです。

[in] wDosTime

変換する MS-DOS 時間。

[out] pvtime

変換された時刻。

戻り値

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

注釈

MS-DOS では、ファイルの日付と時刻がパックされた 16 ビット値として記録されます。 MS-DOS 日付の形式は次のとおりです。

Bits 内容
0–4 月の日 (1 から 31)。
5–8 月 (1 = 1 月、2 = 2 月など)。
9–15 1980 年からの年オフセット (実際の年を取得するために 1980 を追加)。
 

MS-DOS 時刻の形式は次のとおりです。

Bits 内容
0–4 2 番目を 2 で割った。
5–10 分 (0 から 59)。
11–15 時間 (24 時間制の場合は 0 ~ 23)。
 

DosDateTimeToVariantTime 関数は無効な日付を受け入れ、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