次の方法で共有


SHFormatDateTimeW 関数 (shlwapi.h)

[SHFormatDateTime は、[要件] セクションで指定されたオペレーティング システムで使用できます。 それ以降のバージョンでは、変更または使用できない可能性があります。

FILETIME 構造体として指定された時刻の文字列形式を生成します。

構文

int SHFormatDateTimeW(
  [in]                const FILETIME *pft,
  [in, out, optional] DWORD          *pdwFlags,
  [out]               LPWSTR         pszBuf,
                      UINT           cchBuf
);

パラメーター

[in] pft

型: const FILETIME UNALIGNED*

時刻を文字列に変換する FILETIME 構造体へのポインター。

[in, out, optional] pdwFlags

型: DWORD*

日付と時刻の形式を指定するビットごとのフラグを含む DWORD 値へのポインター。

関数を呼び出すときに、次のフラグを 0 個以上組み合わせることができます。ただし、例外は示されています。 このパラメーターを NULLに設定することもできます。この場合、関数は FDTF_DEFAULT フラグが設定されていると見なします。

FDTF_SHORTTIME (0x00000001)

0x00000001。 コントロール パネルの 地域と言語のオプション アプリケーションで指定された時刻を書式設定しますが、秒は設定しません。 このフラグをFDTF_LONGTIMEと組み合わせることはできません。

短い時間が正常に書式設定されました。

FDTF_SHORTDATE (0x00000002)

0x00000002。 コントロール パネルの [地域と言語のオプション] アプリケーションの の短い日付形式で指定された日付を書式設定します。 このフラグをFDTF_LONGDATEと組み合わせることはできません。

短い日付が正常に書式設定されました。

FDTF_DEFAULT

FDTF_SHORTDATEと同等 |FDTF_SHORTTIME。

FDTF_LONGDATE (0x00000004)

0x00000004。 コントロール パネルの 地域および言語オプション アプリケーションで、長い日付形式で指定された日付を書式設定します。 このフラグをFDTF_SHORTDATEと組み合わせることはできません。

長い日付が正常に書式設定されました。

FDTF_LONGTIME (0x00000008)

0x00000008。 コントロール パネルの [地域と言語のオプション] アプリケーションで指定 時刻 (秒を含む) を書式設定します。 このフラグをFDTF_SHORTTIMEと組み合わせることはできません。

長い時間が正常に書式設定されました。

FDTF_RELATIVE (0x00000010)

0x00000010。 FDTF_LONGDATE フラグが設定され、FILETIME 構造体の日付が SHFormatDateTime 呼び出される日付と同じ場合、曜日 (存在する場合) は "Today" に変更されます。 構造体の日付が前日の場合、曜日 (存在する場合) は "昨日" に変更されます。

日付には相対表記が使用されました。

FDTF_LTRDATE (0x00000100)

0x00000100。 左から右の読み取りレイアウトのマークを追加します。 このフラグをFDTF_RTLDATEと組み合わせることはできません。

FDTF_RTLDATE (0x00000200)

0x00000200。 右から左への読み取りレイアウトのマークを追加します。 このフラグをFDTF_LTRDATEと組み合わせることはできません。

FDTF_NOAUTOREADINGORDER (0x00000400)

0x00000400。 読み取り順序マークは挿入されません。 通常、FDTF_LTRDATEフラグまたはFDTF_RTLDATE フラグがない場合、SHFormatDateTime は、ユーザーの既定のロケールからの読み取り順序を決定し、読み取り順序マークを挿入し、pdwFlags 出力値を適切に更新します。 このフラグは、そのプロセスが発生するのを防ぎます。 これは、SHFormatDateTimeのレガシ呼び出し元によって最も一般的に使用されます。 このフラグをFDTF_RTLDATEまたはFDTF_LTRDATEと組み合わせることはできません。

Windows Server 2003 および Windows XP: この値は使用できません。

関数から制御が戻るときに、このパラメーターが指す DWORD 値には、次のフラグを 0 個以上含めることができます。

FDTF_SHORTTIME (0x00000001)

0x00000001。 コントロール パネルの 地域と言語のオプション アプリケーションで指定された時刻を書式設定しますが、秒は設定しません。 このフラグをFDTF_LONGTIMEと組み合わせることはできません。

短い時間が正常に書式設定されました。

FDTF_SHORTDATE (0x00000002)

0x00000002。 コントロール パネルの [地域と言語のオプション] アプリケーションの の短い日付形式で指定された日付を書式設定します。 このフラグをFDTF_LONGDATEと組み合わせることはできません。

短い日付が正常に書式設定されました。

FDTF_LONGDATE (0x00000004)

0x00000004。 コントロール パネルの 地域および言語オプション アプリケーションで、長い日付形式で指定された日付を書式設定します。 このフラグをFDTF_SHORTDATEと組み合わせることはできません。

長い日付が正常に書式設定されました。

FDTF_LONGTIME (0x00000008)

0x00000008。 コントロール パネルの [地域と言語のオプション] アプリケーションで指定 時刻 (秒を含む) を書式設定します。 このフラグをFDTF_SHORTTIMEと組み合わせることはできません。

長い時間が正常に書式設定されました。

FDTF_RELATIVE (0x00000010)

0x00000010。 FDTF_LONGDATE フラグが設定され、FILETIME 構造体の日付が SHFormatDateTime 呼び出される日付と同じ場合、曜日 (存在する場合) は "Today" に変更されます。 構造体の日付が前日の場合、曜日 (存在する場合) は "昨日" に変更されます。

日付には相対表記が使用されました。

[out] pszBuf

型: LPTSTR

書式設定された日時を受け取るバッファーへのポインター。 バッファーは、cchBuf パラメーターで指定された TCHAR 文字の数 (終端の null 文字を含む) を格納するのに十分な大きさである必要があります。

cchBuf

型: UINT

pszBufが指すバッファーに含めることができる TCHAR の数

戻り値

型: int

バッファーに書き込まれた TCHAR の数 (終端の null 文字を含む) を返します。 失敗した場合、この値は 0 です。

備考

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shlwapi.h
ライブラリ Shlwapi.lib
DLL Shlwapi.dll (バージョン 5.0 以降)

関連項目

GetDateFormat を する

GetTimeFormat の