You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中将yyyy/MM/dd/hh/mm/ss格式字符串转为DateTime对象?

解决Linux格式日期字符串转PowerShell DateTime对象的问题

你碰到的问题根源很明确——格式字符串里的小时格式符用错了!你的输入时间是14(24小时制),但你写的hh是12小时制的小时格式(范围是01-12),24小时制的小时应该用HH格式符。这就是ParseExact抛出格式错误的核心原因。

修正后的正确代码

把格式字符串里的hh改成HH,就能正常解析了:

$DateTimeObject = [datetime]::ParseExact('2018/05/21/14/08/17',"yyyy/MM/dd/HH/mm/ss",$null)

其他可行的转换方法

如果不想纠结格式符细节,还有两种更简便的方式:

方法一:直接用Get-Date命令解析

PowerShell的Get-Date命令对这种格式有很好的兼容性,不需要手动指定格式:

$DateTimeObject = Get-Date '2018/05/21/14/08/17'

方法二:替换分隔符后自动转换

把日期字符串里的/替换成PowerShell更易识别的-,再直接转换为DateTime类型:

$linuxDate = '2018/05/21/14/08/17'
$DateTimeObject = [datetime]($linuxDate -replace '/', '-')

内容的提问来源于stack exchange,提问作者CrackerT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:02:44