我从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
有人知道导致错误的原因吗?
答案 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)