Powershell 解析日期时间

Powershell parse DateTime

我想将从 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

一样,当当前语言环境为英语时,月份名称说明符仅适用于英文月份名称。

如果无论 OS 本地化设置如何,您都希望始终解析英文月份名称,请为第三个方法参数显式传递一个 en-US Culture 对象:

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