GetCalendarDateFormatEx 関数

非推奨になりました。 指定した日付とカレンダーを使用して、指定したロケールの適切に書式設定された日付文字列を取得します。 ユーザーは、短い日付形式、長い日付形式、年の月形式、またはカスタム書式パターンを指定できます。

注意

この関数は、たとえばカスタム ロケールのためにリリース間で変更されるデータを取得できます。 アプリケーションでデータを永続化または送信する必要がある場合は、「 永続的なロケール データの使用」を参照してください。

 

構文

BOOL GetCalendarDateFormatEx(
  _In_        LPCWSTR       lpszLocale,
  _In_        DWORD         dwFlags,
  _In_  const LPCALDATETIME lpCalDateTime,
  _In_        LPCWSTR       lpFormat,
  _Out_       LPWSTR        lpDateStr,
  _In_        int           cchDate
);

パラメーター

lpszLocale [in]

ロケール名へのポインター、または次の定義済みの値のいずれか。

dwFlags [in]

日付形式オプションを指定するフラグ。 lpFormatNULL に設定されていない場合、このパラメーターは 0 に設定する必要があります。 lpFormatNULL に設定されている場合、アプリケーションは次の値とLOCALE_NOUSEROVERRIDEの組み合わせを指定できます。

説明
DATE_SHORTDATE
短い日付形式を使用します。 既定値です。 この値は、DATE_LONGDATEまたはDATE_YEARMONTHでは使用できません。
DATE_LONGDATE
長い日付形式を使用します。 この値は、DATE_SHORTDATEまたはDATE_YEARMONTHでは使用できません。
DATE_YEARMONTH
年/月形式を使用します。 この値は、DATE_SHORTDATEまたはDATE_LONGDATEでは使用できません。
DATE_LTRREADING
左から右への読み取りレイアウトのマークを追加します。 この値は、DATE_RTLREADINGでは使用できません。
DATE_RTLREADING
右から左への読み取りレイアウトのマークを追加します。 この値は、DATE_LTRREADINGで使用できません

 

lpCalDateTime [in]

書式設定する日付と予定表の情報を含む CALDATETIME 構造体へのポインター。

lpFormat [in]

日付文字列の形成に使用される書式指定図文字列へのポインター。 書式指定図の文字列に使用できる値は 、Day、Month、Year、および Era Format Pictures で定義されます。

書式指定の図の文字列は null で終わる必要があります。 関数は、ロケールの日付名や月名など、書式指定図文字列で指定されていない情報にのみロケールを使用します。 関数が指定したロケールの日付形式を使用する場合、アプリケーションはこのパラメーターを NULL に設定します。

lpDateStr [out]

この関数が書式設定された日付文字列を受け取るバッファーへのポインター。

cchDate [in]

lpDateStr バッファーのサイズ (文字単位)。 または、アプリケーションでこのパラメーターを 0 に設定することもできます。 この場合、関数は書式設定された日付文字列を保持するために必要な文字数を返し、 lpDateStr パラメーターは使用されません。

戻り値

成功した場合に lpDateStr バッファーに書き込まれた文字数を返します。 cchDate パラメーターが 0 に設定されている場合、関数は、書式設定された日付文字列を保持するために必要な文字数 (終端の null 文字を含む) を返します。

成功しなかった場合、この関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。これにより、次のいずれかのエラー コードが返されます。

  • ERROR_DATE_OUT_OF_RANGE。 指定した日付が範囲外でした。
  • ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分に大きくなかったか、 正しく NULL に設定されていませんでした。
  • ERROR_INVALID_FLAGS。 フラグに指定された値が無効でした。
  • ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。

注釈

この関数でサポートされている最も古い日付は、1601 年 1 月 1 日です。

この関数には、ヘッダー ファイルまたはライブラリ ファイルが関連付けられません。 アプリケーションは、DLL 名 (Kernel32.dll) を使用して LoadLibrary を呼び出して、モジュール ハンドルを取得できます。 その後、そのモジュール ハンドルとこの関数の名前を使用して GetProcAddress を呼び出して、関数アドレスを取得できます。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
[DLL]
Kernel32.dll

関連項目

各国語サポート

各国語サポート関数

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

NLS: 名前ベースの API サンプル

EnumDateFormatsExEx

GetDateFormat

GetDateFormatEx

CALDATETIME