次の方法で共有


GetDateFormatW 関数 (datetimeapi.h)

ロケール識別子で指定されたロケールの日付文字列として日付を書式設定します。 この関数は、指定した日付またはローカル システムの日付を書式設定します。

メモ 相互運用性の理由から、Microsoft は新しいロケールのロケール識別子ではなくロケール名の使用に移行するため、GetDateFormatEx 関数 を GetDateFormat することをお勧めします。 Windows Vista 以降でのみ実行されるアプリケーションは、GetDateFormatEx使用する必要があります。

 

構文

int GetDateFormatW(
  [in]            LCID             Locale,
  [in]            DWORD            dwFlags,
  [in, optional]  const SYSTEMTIME *lpDate,
  [in, optional]  LPCWSTR          lpFormat,
  [out, optional] LPWSTR           lpDateStr,
  [in]            int              cchDate
);

パラメーター

[in] Locale

この関数が日付文字列の書式を設定するロケールを指定するロケール識別子MAKELCID マクロを使用してロケール識別子を作成するか、次のいずれかの定義済み値を使用できます。

[in] dwFlags

日付形式オプションを指定するフラグ。 詳細な定義については、getDateFormatExの dwFlags パラメーター を参照してください。

[in, optional] lpDate

書式設定する日付情報を含む SYSTEMTIME 構造体へのポインター。 関数が現在のローカル システム日付を使用する場合、アプリケーションはこのパラメーターを NULL を するように設定します。

[in, optional] lpFormat

日付の形成に使用される書式指定図文字列へのポインター。 図の書式設定文字列に使用できる値は、日、月、年、および時代 (年) 形式の図で定義されます。

この関数では、書式指定の画像文字列で指定されていない情報 (ロケールの日と月の名前など) に対してのみ、指定されたロケールが使用されます。 アプリケーションでは、このパラメーターを 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。 パラメーター値のいずれかが無効でした。

備考

この API は、2019 年 5 月の日本の時代 (年号) の変更をサポートするように更新されています。 アプリケーションが日本語カレンダーをサポートしている場合は、新しい時代 (年号) が適切に処理されることを検証する必要があります。 詳細については、「日本の時代 (年号) の変更 に合わせてアプリケーションを準備する」を参照してください。
 
GetDateFormatExの に関する解説を参照してください。

この関数の ANSI バージョンを Unicode のみのロケール識別子と共に使用すると、オペレーティング システムがシステム コード ページを使用するため、関数は成功する可能性があります。 ただし、システム コード ページで未定義の文字は、文字列に疑問符 ("?") として表示されます。

Windows 8 以降: GetDateFormat Datetimeapi.h で宣言されています。 Windows 8 より前は、Winnls.h で宣言されていました。

手記

datetimeapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetDateFormat を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー datetimeapi.h
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

日、月、年、および時代 (年) 形式の画像

EnumCalendarInfo を する

EnumDateFormatsEx の

GetCalendarInfo を する

GetDateFormatEx を する

GetLocaleInfo の

GetTimeFormat の

各国語サポート

各国語サポート関数