Powershell解析日期时间



我想解析这个字符串,我从OpenSSL到DateTime:

Dec 23 03:54:47 2021


我尝试了以下方法,但没有成功:

([datetime]::ParseExact($datestring, "%b %H:%M:%S %Y", $null))
([datetime]::ParseExact($datestring, "bbb HH:MM:SS YYYY", $null))

您想要的格式字符串是MMM dd HH:mm:ss yyyy:

PS ~> [datetime]::ParseExact('Dec 23 03:54:47 2021', 'MMM dd HH:mm:ss yyyy', $null)
Thursday, December 23, 2021 3:54:47 AM

正如Olaf提到的,当当前语言环境为英语时,月份名称说明符将只对英语月份名称起作用。

如果您希望始终解析英文月份名称而不考虑操作系统的本地化设置,请显式地为第三个方法参数传递en-USCulture对象:

$targetCulture = [cultureinfo]::new('en-US')
[datetime]::ParseExact('Dec 23 03:54:47 2021', 'MMM dd HH:mm:ss yyyy', $targetCulture)

最新更新