SHFormatDateTimeA 函数 (shlwapi.h)

[SHFormatDateTime 可用于“要求”部分中指定的操作系统。 后续版本中可能会更改或不可用。]

生成指定为 FILETIME 结构的时间的字符串表示形式。

语法

int SHFormatDateTimeA(
  [in]                const FILETIME *pft,
  [in, out, optional] DWORD          *pdwFlags,
  [out]               LPSTR          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 值可以包含以下标志的零个或多个。

[out] pszBuf

类型: LPTSTR

指向接收格式化日期和时间的缓冲区的指针。 缓冲区必须足够大,才能包含 cchBuf 参数指定的 TCHAR 字符数,包括终止 null 字符。

cchBuf

类型: UINT

可由 pszBuf 指向的缓冲区包含的 TCHAR 数。

返回值

类型: int

返回写入缓冲区的 TCHAR 数,包括终止 null 字符。 失败时,此值为 0。

注解

注意

shlwapi.h 标头将 SHFormatDateTime 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非中性编码别名与非编码中性代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shlwapi.h
Library Shlwapi.lib
DLL Shlwapi.dll (5.0 或更高版本)

另请参阅

GetDateFormat

GetTimeFormat