转换 YYYYMMDDHH24MISS 时间戳到指定的日期/时间格式.
FormatTime, OutputVar , YYYYMMDDHH24MISS, Format
用来存储结果的变量名.
留空此参数以使用当前本地日期和时间. 否则, 请指定 YYYYMMDDHH24MISS 格式的时间戳中所有或前面的部分. 如果时间戳中日期和/或时间部分是无效的(例如非闰年(平年) 的 2 月 29 日), 则这部分会从 OutputVar 中删去. 尽管仅支持 1601 至 9999 之间的年份, 但只要时间是有效的, 对于更早的年份仍然可以生成格式化的时间.
如果省略, 则它默认为时间后跟着长日期, 并且会对它们根据当前用户区域设置进行格式化. 例如: 4:55 PM Saturday, November 27, 2004
否则, 请指定一个或多个下面的日期-时间格式以及在它们之间的任何原义空格和标点(逗号不需要转义; 它们可以正常使用). 在下面的例子中, 请注意 M 必须为大写: M/d/yyyy h:mm tt
下面的格式必须 单独 使用; 即在 Format 参数中不能含有其他格式或文本. 这些格式不区分大小写.
下列选项可以紧跟在 YYYYMMDDHH24MISS 时间戳后(如果没有时间戳, 它们也可以单独使用). 在下面的例子中, 请注意最后的四项间没有逗号.
FormatTime, OutputVar, 20040228 LSys D1 D4
R: 反转. 让日期在时间之前(仅当 Format 为空时才有意义).
Ln: 如果此选项 不 存在, 则使用当前用户区域设置来格式化字符串. 要使用系统的区域设置, 请指定 LSys. 要使用特殊的区域设置, 请指定字母 L 后面跟着十六进制或十进制的区域设置标识符(LCID). 关于如何构建 LCID 的信息, 请在 www.microsoft.com 上搜索下列短语: Locale Identifiers
Dn: 日期选项. 请指定 n 为下列数字的其中一个:
Tn: 时间选项. 请指定 n 为下列数字的其中一个:
注意: Dn 和 Tn 可以使用多次以使多个选项生效, 例如: FormatTime, OutputVar, 20040228 D2 D4 T1 T8
FormatTime, OutputVar, 20040228 D2 D4 T1 T8
从 Format 到 OutputVar 的转换时, 您希望原义转换的字母和数字必须包含在单引号中, 例如: 'Date:' MM/dd/yy 'Time:' hh:mm:ss tt.
'Date:' MM/dd/yy 'Time:' hh:mm:ss tt
与之相比, 非字母数字字符(例如空格, tab, 换行符(`n), 斜杠, 冒号, 逗号和其他标点) 不需要包围在单引号中. 例外情况是单引号字符本身: 要产生原义的单引号, 请使用四个连续的单引号(''''), 不过如果它们已经包含在一对外部引号中则仅使用连续的两个就行了.
如果 Format 同时包含日期和时间元素, 则它们不能混用. 换句话说, 这个字符串应该分成两半: 一半时间, 一半日期. 例如, 包含 "hh yyyy mm" 的格式字符串不会产生期望的结果, 因为它在两个时间元素间包含日期元素.
当 Format 包含数值的天数(d 或 dd) 后跟着月份的全称(MMMM), 则使用月份名称的所有格形式(如果当前语言有所有格形式).
如果 Format 包含超过 2000 个字符, 则 OutputVar 会被置空.
相关提示, 使用 EnvAdd 和 EnvSub 可以对日期和时间进行加减.
要进行反向的转换(即 从 格式化的日期/时间 转到 YYYYMMDDHH24MISS 格式), 请参阅 www.autohotkey.com/forum/topic20405.html
另请参阅: Gui DateTime 控件, Format(), SetFormat, Transform, 内置的日期和时间变量, FileGetTime
演示不同的用法.
FormatTime, TimeString MsgBox The current time and date (time first) is %TimeString%. FormatTime, TimeString, R MsgBox The current time and date (date first) is %TimeString%. FormatTime, TimeString,, Time MsgBox The current time is %TimeString%. FormatTime, TimeString, T12, Time MsgBox The current 24-hour time is %TimeString%. FormatTime, TimeString,, LongDate MsgBox The current date (long format) is %TimeString%. FormatTime, TimeString, 20050423220133, dddd MMMM d, yyyy hh:mm:ss tt MsgBox The specified date and time, when formatted, is %TimeString%. FormatTime, TimeString, 200504, 'Month Name': MMMM`n'Day Name': dddd MsgBox %TimeString% FormatTime, YearWeek, 20050101, YWeek MsgBox January 1st of 2005 is in the following ISO year and week number: %YearWeek%
改变文件的日期-时间戳.
FileSelectFile, FileName, 3,, Pick a file if (FileName = "") ; 用户没有选取文件. return FileGetTime, FileTime, %FileName% FormatTime, FileTime, %FileTime% ; 由于省略了最后一个参数, 所以获取长日期和时间. MsgBox The selected file was last modified at %FileTime%.
把指定的秒数转换成相应的小时数, 分钟数和秒数(hh:mm:ss 格式).
MsgBox % FormatSeconds(7384) ; 7384 = 2 小时 + 3 分钟 + 4 秒. 它的结果: 2:03:04 FormatSeconds(NumberOfSeconds) ; 把指定的秒数转换成 hh:mm:ss 格式. { time := 19990101 ; 任意日期的 *午夜*. time += NumberOfSeconds, seconds FormatTime, mmss, %time%, mm:ss return NumberOfSeconds//3600 ":" mmss /* ; 和上面方法不同的是, 这里不支持超过 24 小时的秒数: FormatTime, hmmss, %time%, h:mm:ss return hmmss */ }