VariantTimeToDosDateTime

日付と時刻の variant 表現を MS-DOS の日付と時刻の値に変換する。

VariantTimeToDosDateTime vtime, pwDosDate, pwDosTime

vtime : [double] 変換する variant 時刻。
pwDosDate : [var] 変換後の MS-DOS 日付を受け取る。
pwDosTime : [var] 変換後の MS-DOS 時刻を受け取る。

(プラグイン / モジュール : oleaut32.dll)

解説

日付と時刻の variant 表現を MS-DOS の日付と時刻の値に変換する。

[戻り値]
関数は成功すると TRUE、それ以外の場合は FALSE を返す。

[備考]
variant 時刻は 8 バイトの実数値 (double) として格納され、100 年 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:00 を表す、というように続く。負の数値は 1899 年 12 月
30 日より前の日付を表す。MS-DOS の日付と時刻の形式の説明については、DosDateTimeToVariantTime
を参照のこと。VariantTimeToDosDateTime 関数は、無効な日付を受け入れて VARIANT
時刻に変換する際に修正を試みる。例えば、2/29/2001 のような無効な日付は 3/1/2001
に変換される。修正されるのは日のみであるため、無効な月の値はエラーとなる。日は 1 から 31 の範囲かをチェックされる。負の日や 31
より大きい日はエラーとなる。31 未満だがその月の最大日より大きい日は、翌月の適切な日に繰り上げられる。0
に等しい日は前月の末日として解決される。例えば、2/0/2001 のような無効な日付は 1/31/2001 に解決される。

情報

プラグイン / モジュールoleaut32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の oleaut32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_oleaut32_gen2.hs