如何在PowerShell中将FileDateTime格式字符串转换为datetime类型?
FileDateTime格式字符串转DateTime变量方法说明
直接使用$date = Get-Date "20211027T1306219297"的写法无法实现需求,PowerShell默认的日期解析规则不能直接识别Get-Date -Format FileDateTime输出的字符串格式,直接传入会抛出格式错误。
正确的解析方式如下:
- 调用
[datetime]::ParseExact()方法,手动指定匹配的格式串yyyyMMddTHHmmssffff即可完成解析,该格式串和FileDateTime的输出结构完全对应:4位年份+2位月份+2位日期+分隔符T+2位小时+2位分钟+2位秒+4位毫秒。 - 可直接参考以下示例代码:
# 生成示例的FileDateTime格式字符串 $fileDateStr = Get-Date -Format FileDateTime # 解析为标准DateTime类型变量 $datetimeObj = [datetime]::ParseExact($fileDateStr, "yyyyMMddTHHmmssffff", $null)
- 解析得到的
$datetimeObj是原生DateTime类型,可正常执行日期计算、格式转换等所有日期相关操作。
内容的提问来源于stack exchange,提问作者Jan Ptáčník
相关产品推荐
相关产品推荐

