尝试解析时,在PowerShell中将字符串转换为[DateTime]格式时遇到问题::parseexact。谁能告诉我我的坏处在哪里?这是我的代码。
[datetime]::parseexact('2018-05-07T15:19:17.839+03:00','o', 'yyyy-MM-ddTHH:mm:ss.fffzzz')
Run Code Online (Sandbox Code Playgroud)
这是一个错误
找不到“ parseexact”的重载和参数计数:“ 3”。在第1行:char:1 + [datetime] :: parseexact('2018-05-07T15:19:17.839 + 03:00','o','yyyy-MM- ... + ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ + + CategoryInfo:未指定:(:) [],MethodException + FullyQualifiedErrorId:MethodCountCouldNotFindBest
如评论中所述,您可以将代码更改[datetime]::parseexact('2018-05-07T15:19:17.839+03:00', 'yyyy-MM-ddTHH:mm:ss.fffzzz',$null)为,如果您不关心CultureInfo.
但是正如我在您的代码中看到的那样,您为ParseExact函数提供了 3 个参数,这让我怀疑您是否真的想更改CultureInfo. 如果你想改变你的那个,你可以做这样的事情 -
([datetime]::ParseExact($date,"dd/MM/yyyy",[Globalization.CultureInfo]::CreateSpecificCulture('en-GB'))
Run Code Online (Sandbox Code Playgroud)
或者
([datetime]::ParseExact($date,"dd/MM/yyyy",[Globalization.CultureInfo]::CreateSpecificCulture('de-DE'))
Run Code Online (Sandbox Code Playgroud)
等等,取决于您的要求。
额外信息 -
根据msdn文章,
DateTime.ParseExact(String,?String[],?IFormatProvider,?DateTimeStyles) 方法解析日期的字符串表示形式,该日期与分配给格式参数的任一模式相匹配。如果字符串 s 不匹配这些模式中的任何一个与由样式参数定义的任何变体,则该方法将引发 FormatException。除了将 s 与多个格式化模式而不是单个格式化模式进行比较之外,此重载的行为与 DateTime.ParseExact(String,?String,?IFormatProvider,?DateTimeStyles) 方法相同。
该style参数是枚举值的按位组合,指示 s(输入日期)的允许格式。要指定的典型值是None。
有关更多信息,请参阅Get-Date 格式文化。
| 归档时间: |
|
| 查看次数: |
10706 次 |
| 最近记录: |