无法在Powershell

时间:2018-08-13 13:47:40

标签: powershell

我已经为此苦苦挣扎了一段时间,我已经尽了一切努力,但是还没有成功。我需要将此字符串转换为Powershell日期对象:

20180802 16:30:10

每次我尝试ParseExact时,都说它无法将字符串识别为有效的日期/时间格式。

2 个答案:

答案 0 :(得分:4)

以下操作非常有效:

[DateTime]::ParseExact('20180802 16:30:10', 'yyyyMMdd HH:mm:ss', [CultureInfo]::InvariantCulture)

我敢打赌,您的问题是24小时制。

答案 1 :(得分:0)

Pawel Dyl's helpful answer是正确且可靠的解决方案。

仅提供一种快捷方式,在类似的情况下,可能需要使用这种快捷方式,只需{em>简单的文本重新格式化即可使[datetime] cast 能够识别包含日期/时间表示形式的字符串:

20180802 16:30:10转换为2018-08-02 16:30:10会起作用:

PS> [datetime] ('20180802 16:30:10' -replace '^(\d{4})(\d{2})', '$1-$2-')

Thursday, August 2, 2018 4:30:10 PM  # sample output on a US-English system

请注意,PowerShell中的[datetime]强制使用invariant culture,就像PowerShell在many contexts中一样。