如何指定输入字符串的哪一部分是日期和月份?
如果输入是01/10/2017
,这可以读作2017 年 10 月 1 日 and 2017 年 1 月 10 日。两者都是正确的。
我想明确表示01
是日期并且10
是月份,这样无论区域设置和时间格式如何,我都可以获得一致的结果。
示例代码:
get-date -Date '01/10/2017'
输出是:
Tuesday, January 10, 2017 12:00:00 AM
期望的输出是:
Sunday, October 01, 2017 12:00:00 AM
我有一个解决方案给你。它要求将文化作为论据之一。
([datetime]::ParseExact($date,"dd/MM/yyyy",[Globalization.CultureInfo]::CreateSpecificCulture('en-GB')))
不必指定文化。然而,它的参数确实如此,否则你会得到一个错误:
找不到“ParseExact”和参数计数的重载:“2”。
[cultureinfo]::InvariantCulture
or $null
可以用作第三个参数:
$date = "01/10/2017"
[datetime]::ParseExact($date, "dd/MM/yyyy", [cultureinfo]::InvariantCulture)
[datetime]::ParseExact($date, "dd/MM/yyyy", $null)
所有三种情况下的输出
01 October 2017 00:00:00
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)