问题描述
我在尝试使用 ::parseexact
在 PowerShell 中解析和将字符串转换为 [DateTime] 格式时遇到问题.谁能告诉我我哪里不好?这是我的代码.
I'v got a problem when trying to parse, and convert string to [DateTime] format in PowerShell using ::parseexact
. Can someone tell me where's my bad?Here's my code.
[datetime]::parseexact('2018-05-07T15:19:17.839+03:00','o', 'yyyy-MM-ddTHH:mm:ss.fffzzz')
这里有一个错误
找不到parseexact"和参数计数的重载:3".在行:1 字符:1+ [日期时间]::parseexact('2018-05-07T15:19:17.839+03:00','o', 'yyyy-MM- ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo : NotSpecified: (:) [], MethodException+ FullQualifiedErrorId : MethodCountCouldNotFindBest
推荐答案
如评论中所述,您可以将代码更改为 [datetime]::parseexact('2018-05-07T15:19:17.839+03:00', 'yyyy-MM-ddTHH:mm:ss.fffzzz',$null)
如果您不关心 CultureInfo
.
As mentioned in the comment, you can change your code to [datetime]::parseexact('2018-05-07T15:19:17.839+03:00', 'yyyy-MM-ddTHH:mm:ss.fffzzz',$null)
and that will work for you if you are not concerned with the CultureInfo
.
但正如我在您的代码中看到的,您为 ParseExact
函数提供了 3 个参数,这让我怀疑您是否真的想更改 CultureInfo
.如果你想改变你的,你可以做这样的事情 -
But as I can see in your code, that you are providing 3 arguments to your ParseExact
function, which makes me wonder if you are really trying to change the CultureInfo
. If you want to change your that, you can do something like this -
([datetime]::ParseExact($date,"dd/MM/yyyy",[Globalization.CultureInfo]::CreateSpecificCulture('en-GB'))
或
([datetime]::ParseExact($date,"dd/MM/yyyy",[Globalization.CultureInfo]::CreateSpecificCulture('de-DE'))
等等,取决于您的要求.
and so on depending upon your requirement.
额外信息 -
根据 msdn 文章,
该DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles)方法解析匹配任何日期的字符串表示形式分配给格式参数的模式.如果字符串 s不匹配这些模式中的任何一个与任何变体由styles 参数定义,该方法抛出FormatException.除了将 s 与多种格式模式进行比较,而不是与一个单一的格式化模式,这个重载的行为与DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles)方法.
style
参数是枚举值的按位组合,表示 s(输入日期)的允许格式.要指定的典型值是无.
The style
parameter, is a bitwise combination of enumeration values that indicates the permitted format of s(input date). A typical value to specify is None.
查看获取日期格式文化了解更多信息.
这篇关于如何在 PowerShell 中通过 ::parseexact 解析日期时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!