EnumDateFormatsExW

指定したロケールで利用可能な長い日付、短い日付、年/月の形式を列挙する。注: Windows Vista 以降でのみ動作するアプリケーションはこの関数より EnumDateFormatsExEx を使うべきである。(Unicode)

EnumDateFormatsExW lpDateFmtEnumProcEx, Locale, dwFlags

lpDateFmtEnumProcEx : [int] アプリケーション定義のコールバック関数へのポインタ。詳細は EnumDateFormatsProcEx を参照。
Locale : [int] 日付形式情報を取得するロケールを指定するロケール識別子。MAKELCID マクロを使って識別子を作成するか、以下の定義済み値のいずれかを使用できる。
dwFlags : [int] 日付形式を指定するフラグ。詳細な定義は EnumDateFormatsExEx の dwFlags パラメータを参照。

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

解説

指定したロケールで利用可能な長い日付、短い日付、年/月の形式を列挙する。注: Windows Vista
以降でのみ動作するアプリケーションはこの関数より EnumDateFormatsExEx を使うべきである。(Unicode)

[戻り値]
成功した場合 0 以外、それ以外の場合 0 を返す。拡張エラー情報を取得するには、アプリケーションは GetLastError
を呼ぶことができ、次のいずれかのエラーコードを返すことがある。
(以下省略)

[備考]
注: この API は 2019 年 5
月の日本の元号変更に対応するために更新されている。アプリケーションが日本のカレンダーをサポートしている場合、新元号を正しく処理することを検証する必要がある。詳細は
Prepare your application for the Japanese era change を参照。
関数は日付形式文字列ポインタを 1 つずつ、指定されたアプリケーション定義のコールバック関数に渡して列挙する。この処理は
EnumDateFormatsEx が最後の日付形式を見つけるか、コールバック関数が FALSE
を返すまで続く。この関数は、代替カレンダーがある場合を含めて、指定されたロケールのすべての日付形式を列挙する。ただし、カレンダー識別子は日付形式と一緒には列挙されないため、代替カレンダーを持つロケールの形式は使いにくい。この関数はカスタムロケールからのデータを列挙できる。データはコンピュータ間やアプリケーションの実行間で同じであるとは保証されない。アプリケーションがデータを永続化または送信しなければならない場合は
Using Persistent Locale Data を参照。Unicode 専用ロケール識別子と共にこの関数の ANSI
版を使用すると、オペレーティングシステムがシステムコードページを使うため、関数は成功することがある。ただし、システムコードページで未定義の文字は文字列内で疑問符
(?) として表示される。アプリケーションは代替カレンダーを持つロケールの日付形式を列挙するために EnumDateFormats
ではなく EnumDateFormatsEx を使うべきである。
> [!NOTE] > winnls.h ヘッダは UNICODE プリプロセッサ定数の定義に基づき、この関数の ANSI 版または
Unicode 版を自動選択するエイリアスとして EnumDateFormatsEx
を定義する。エンコーディング非依存のエイリアスとエンコーディング依存のコードを混在させると、コンパイルや実行時のエラーを引き起こす不整合が生じることがある。詳細は
[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