GetDateFormatW

ロケール識別子で指定したロケール用に日付を日付文字列として整形する。(Unicode)

GetDateFormatW Locale, dwFlags, lpDate, lpFormat, lpDateStr, cchDate

Locale : [int] 日付文字列を整形するロケールを指定するロケール識別子。MAKELCID マクロでロケール識別子を作成することも、次の定義済み値のいずれかを使うこともできる。
dwFlags : [int] 日付フォーマットオプションを指定するフラグ。詳細な定義については GetDateFormatEx の dwFlags パラメータを参照。
lpDate : [var] 整形対象の日付情報を含む SYSTEMTIME 構造体へのポインタ。現在のローカルシステム日付を関数に使わせる場合、アプリケーションはこのパラメータを NULL に設定する。
lpFormat : [wstr] 日付を組み立てるために使われるフォーマットピクチャ文字列へのポインタ。フォーマットピクチャ文字列に指定可能な値は Day, Month, Year, and Era Format Pictures で定義されている。関数はフォーマットピクチャ文字列で指定されていない情報(たとえばロケールの曜日名や月名)にのみ指定したロケールを使う。指定したロケールの日付形式に従って文字列を整形させる場合、アプリケーションはこのパラメータを NULL に設定できる。
lpDateStr : [wstr] 整形済み日付文字列をこの関数が取得するバッファへのポインタ。
cchDate : [int] lpDateStr バッファのサイズ。文字数で指定する。アプリケーションはこのパラメータを 0 に設定することで、整形済み日付文字列を保持するのに必要なバッファサイズを返すことができる。この場合、lpDateStr が示すバッファは使われない。

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

解説

ロケール識別子で指定したロケール用に日付を日付文字列として整形する。(Unicode)

[戻り値]
成功した場合、lpDateStr バッファに書き込まれた文字数を返す。cchDate パラメータが 0 に設定されている場合、関数は終端
NULL 文字を含む整形済み日付文字列を保持するのに必要な文字数を返す。成功しなかった場合は 0 を返す。拡張エラー情報を取得するには
GetLastError を呼び出すことができ、次のいずれかのエラーコードが返ることがある。
(以下省略)

[備考]
注意: この API は 2019 年 5
月の日本の改元に対応するために更新中である。アプリケーションが日本のカレンダーをサポートする場合、新しい時代を正しく扱えることを検証する必要がある。詳細は「日本の改元に向けてアプリケーションを準備する」を参照。GetDateFormatEx
の Remarks を参照。この関数の ANSI 版を Unicode 専用ロケール識別子と共に使った場合、OS
がシステムコードページを使うため関数が成功することがある。ただし、システムコードページで未定義の文字は文字列中で疑問符("?")として表示される。
Windows 8 以降: GetDateFormat は Datetimeapi.h で宣言されている。Windows 8 より前は
Winnls.h で宣言されていた。
> [!NOTE] > datetimeapi.h ヘッダでは GetDateFormat が、UNICODE
プリプロセッサ定数の定義に応じて自動的に ANSI 版または Unicode
版を選択するエイリアスとして定義されている。エンコーディング中立のエイリアスを中立でないコードと混在させるとコンパイルや実行時のエラーになる可能性がある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

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