GetDateFormatA 関数 (datetimeapi.h)
ロケール識別子で指定されたロケールの日付文字列として日付を書式設定します。 関数は、指定された日付またはローカル システムの日付を書式設定します。
構文
int GetDateFormatA(
[in] LCID Locale,
[in] DWORD dwFlags,
[in, optional] const SYSTEMTIME *lpDate,
[in, optional] LPCSTR lpFormat,
[out, optional] LPSTR lpDateStr,
[in] int cchDate
);
パラメーター
[in] Locale
この関数が日付文字列の書式を設定するロケールを指定するロケール識別子。 MAKELCID マクロを使用してロケール識別子を作成するか、次のいずれかの定義済み値を使用できます。
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
日付形式オプションを指定するフラグ。 詳細な定義については、GetDateFormatEx の dwFlags パラメーターを参照してください。
[in, optional] lpDate
書式設定する日付情報を含む SYSTEMTIME 構造体へのポインター。 関数が現在のローカル システム日付を使用する場合、アプリケーションはこのパラメーターを NULL に設定します。
[in, optional] lpFormat
日付の形成に使用される書式指定図文字列へのポインター。 書式指定図の文字列に使用できる値は 、Day、Month、Year、および Era Format Pictures で定義されます。
関数は、書式指定図文字列で指定されていない情報 (ロケールの日名や月名など) に対してのみ、指定されたロケールを使用します。 アプリケーションでは、このパラメーターを NULL に設定して、指定したロケールの日付形式に従って文字列を書式設定できます。
[out, optional] lpDateStr
この関数が書式設定された日付文字列を取得するバッファーへのポインター。
[in] cchDate
lpDateStr バッファーのサイズ (文字単位)。 アプリケーションでは、このパラメーターを 0 に設定して、書式設定された日付文字列を保持するために必要なバッファー サイズを返すことができます。 この場合、 lpDateStr で示されるバッファーは使用されません。
戻り値
成功した場合に lpDateStr バッファーに書き込まれた文字数を返します。 cchDate パラメーターが 0 に設定されている場合、関数は、書式設定された日付文字列を保持するために必要な文字数 (終端の null 文字を含む) を返します。
成功しなかった場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。これにより、次のいずれかのエラー コードが返されます。
- ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分に大きくなかったか、 正しく NULL に設定されていませんでした。
- ERROR_INVALID_FLAGS。 フラグに指定された値が無効でした。
- ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。
解説
この関数の ANSI バージョンを Unicode のみのロケール識別子と共に使用すると、オペレーティング システムでシステム コード ページが使用されるため、関数は成功する可能性があります。 ただし、システム コード ページで未定義の文字は、文字列に疑問符 ("?") として表示されます。
Windows 8 以降: GetDateFormat は Datetimeapi.h で宣言されています。 Windows 8 より前では、Winnls.h で宣言されていました。
Note
datetimeapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetDateFormat を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | datetimeapi.h |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |