共用方式為


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 值的指標,其中包含指定日期和時間格式的位旗標。

當您呼叫 函式時,可以結合下列零或多個旗標,但例外狀況如下所述。 您也可以將此參數設定為 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 值可以包含下列零或多個旗標。

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 預處理器常數的定義,將 SHFormatDateTime 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 shlwapi.h
連結庫 Shlwapi.lib
DLL Shlwapi.dll 版 (5.0 版或更新版本)

另請參閱

GetDateFormat

GetTimeFormat