在Powershell中解析具有缩写的工作日名称的DateTime

时间:2019-04-29 14:36:06

标签: powershell datetime parsing

我从api获取以下格式的日期:

   Mon Apr 29 14:40:17 2019

我尝试使用以下命令将其解析为有效的Powershell日期:

  $test = [DateTime]::ParseExact("Mon Apr 29 14:40:03 2019", "ddd MMM dd HH:mm:ss yyyy",$null)

Powershell返回“使用“ 3”个参数调用“ ParseExact”的异常:“未将字符串识别为有效的DateTime。”

似乎是由于工作日格式缩写而出现问题。如果删除“ Mon”和“ ddd”,则解析有效。

有关格式说明符的信息来自:https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings#dddSpecifier

有人知道导致错误的原因吗?

1 个答案:

答案 0 :(得分:1)

$null代替[System.Globalization.CultureInfo]::InvariantCulture解决了这个问题。

工作代码为:

    $test = [DateTime]::ParseExact("Mon Apr 29 14:40:03 2019", "ddd MMM dd HH:mm:ss yyyy",[System.Globalization.CultureInfo]::InvariantCulture)