|
<火山程序 类型 = "通常" 版本 = 1 />
方法 文件时间到文本 <公开 静态 类型 = 文本型 注释 = "将FILETIME转换到指定格式的时间文本" 折叠 @禁止流程检查 = 真>
参数 文件时间 <类型 = 长整数>
参数 格式文本 <类型 = 文本型 注释 = "默认格式为: \"2022-03-21 09:19:05\",转换后不能超过256个字符." 注释 = "下列为可用的格式替换符:"
注释 = " %% %字符 | %n 换行符 | %t 水平制表符" 注释 = " %C 年份向下整除100 例: 20"
注释 = " %y 年份的后2位 例: 22" 注释 = " %Y 完整的4位年份 例: 2022"
注释 = " %h 缩写的月份名称 例: Apr" 注释 = " %b 缩写的月份名称 例: Apr"
注释 = " %B 完整的月份名称 例: April" 注释 = " %m 十进制的月份 例: 04"
注释 = " %d 2位数的某月第N天 例: 01" 注释 = " %e 2位的某月第N天,前补空格 例: 1"
注释 = " %a 缩写的星期名称 例: Fri" 注释 = " %A 完整的星期名称 例: Friday"
注释 = " %u 十进制的星期数(1-7) 例: 5" 注释 = " %w 星期数(0-6),0为星期天 例: 5"
注释 = " %j 3位数的某年第N天 例: 091" 注释 = " %U 2位数的某年第N星期 例: 13"
注释 = " %W 2位数的某年第N星期 例: 13" 注释 = " %D 等价于 %m/%d/%y 例: 04/01/22"
注释 = " %F 等价于 %Y-%m-%d 例: 2022-04-01" 注释 = " %H 2位数的小时数(24小时制) 例: 16"
注释 = " %I 2位数的小时数(12小时制) 例: 04" 注释 = " %M 2位数的分钟数 例: 15"
注释 = " %S 2位数的秒针数 例: 05" 注释 = " %p 12小时进制的AM/PM 例: PM"
注释 = " %R 等价于 %H:%M 例: 16:15" 注释 = " %T 等价于 %H:%M:%S 例: 16:15:05"
注释 = " %r 12小时制的时分秒时间 例: 04:15:05 PM" 注释 = " %X 本地环境的12小时制时钟 例: 16:15:05"
注释 = " %x 本地环境的日期 例: 04/01/22" 注释 = " %z UTC格式的时区 例: +0800"
注释 = " %Z 时区的本地名称 例: 中国标准时间" 注释 = " %c 本地环境的日期与时间 例: Fri Apr 1 16:59:32 2022"
注释 = "" 注释 = " 格式替换符可以在中间加上#,部分无效果; 部分会将前面的补0或补"
注释 = "空格去掉,比如\"%#F\"会解析为\"2022-4-1\"; 其中\"%#c\"和\"%#x\"会解析" 注释 = "为更长的日期时间格式." @默认值 = "%F %T">
{
@ struct tm timeinfo;
@ time_t rawtime = (time_t)(@<文件时间> / 10000000 - 11644473600)
@ ::localtime_s(&timeinfo, &rawtime);
@ WCHAR szTime[256] {0};
@ ::wcsftime(szTime, sizeof(szTime), @<格式文本>.GetText(), &timeinfo);
@ return @an<CVolString>(szTime);
}
方法 文件时间到时间 <公开 静态 类型 = 小数 注释 = "将FILETIME转换到火山的时间类型" 折叠>
参数 文件时间 <类型 = 长整数>
{
返回 (时间操作类.时间戳到时间 ((整数)(文件时间 / 10000000 - 11644473600)))
}
|
|