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 |