GetTimeFormat

GetTimeFormat

VB声明

Declare Function GetTimeFormat Lib "kernel32" Alias "GetTimeFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, lpTime As SYSTEMTIME, ByVal lpFormat As String, ByVal lpTimeStr As String, ByVal cchTime As Long) As Long

说明

针对当前指定的“地方”,按特定的格式格式化一个系统时间

返回值

Long,格式化过后的字串的长度。零表示出错。会将GetLastError设置为下述值之一:ERROR_INSUFFICIENT_BUFFER,ERROR_INVALID_FLAGS,ERROR_INVALID_PARAMETER

参数表

参数

类型及说明

Locale

Long,决定了具体格式的地方ID。lpFormat参数中指定的任何信息(倘若不是NULL)都要优先于各地方不同的特别信息

dwFlags

Long,如指定了lpFormat,那么该参数应该为零。否则,可设为LOCALE_NOUSEROVERRIDE,表示强制使用系统地方参数——即使它们已由用户更改。用DATE_SHORTDATE或DATE_LONGDATE选择不同的日期格式

lpTime

SYSTEMTIME,用于包容系统时间的一个结构

lpFormat

String,可设为NULL,使用特定于不同地方的值(用vbNullString传递一个NULL)。否则包含一个时间格式字串。对h,hh,hhh,hhhh,m,mm,s,ss这样的代码来说,它们的用法与在vb格式命令中的用法是相同的。t和tt用于指定一个时间段标志(A或AM,P或PM)

lpTimeStr

String,指定一个缓冲区,用于容纳格式化过后的字串。注意事先对字串的长度进行正确的预初始化

cchTime

Long,lpTimeStr缓冲区的长度。如为零,表示函数会返回需要缓冲区的大小

注解

对于dwFlags参数的解释可能翻译有错误。原文为:

If lpFormat is specified, this should be zero. Otherwise, may be set to LOCALE_NOUSEROVERRIDE to force the system locale parameters to be used even if they have been overridden by the user. Use the self-explanatory constants TIME_NOMINUITESORSECONDS, TIME_NOSECONDS, or TIME_FORCE24HOURFORMAT to choose between date formats. Constant TIME_NOMARKER removes the AM or PM marker.

Top