PowerShell:奇怪的日期格式字符串到日期时间
PowerShell: Weird date format string to date time
我在处理从事件日志导出的奇怪日期格式时遇到问题。
看起来像下面这样:
5 月 14 日星期一 09:32:59 UTC 2018
我尝试了通用 Get-date,一直到:
$stringToDatetime2 = [Datetime]::ParseExact("$($TaskFailures[0].time)", "ddd MMM dd HH:mm:ss ZZZ yyyy", $null)
我感觉我可能做错了很明显的事情。这就是我的感受。
你问的问题是"how do I get [DateTime]::ParseExact
to treat 'UTC' as '+0000'?"。
我无法使它起作用,但我确实使以下方法起作用:
[DateTimeOffset]::ParseExact(
"Mon May 14 09:32:59 UTC 2018".Replace("UTC", "+0000"),
"ddd MMM dd HH:mm:ss zzz yyyy",
[CultureInfo]::InvariantCulture)
注意(作弊).Replace
。
遗憾的是,我找不到一种可靠的方法来识别所有时区缩写。如果您的日志文件只使用 UTC(大多数是,因为服务器通常与时区无关,并且配置为 UTC),您会没事的。
我在处理从事件日志导出的奇怪日期格式时遇到问题。
看起来像下面这样: 5 月 14 日星期一 09:32:59 UTC 2018
我尝试了通用 Get-date,一直到:
$stringToDatetime2 = [Datetime]::ParseExact("$($TaskFailures[0].time)", "ddd MMM dd HH:mm:ss ZZZ yyyy", $null)
我感觉我可能做错了很明显的事情。这就是我的感受。
你问的问题是"how do I get [DateTime]::ParseExact
to treat 'UTC' as '+0000'?"。
我无法使它起作用,但我确实使以下方法起作用:
[DateTimeOffset]::ParseExact(
"Mon May 14 09:32:59 UTC 2018".Replace("UTC", "+0000"),
"ddd MMM dd HH:mm:ss zzz yyyy",
[CultureInfo]::InvariantCulture)
注意(作弊).Replace
。
遗憾的是,我找不到一种可靠的方法来识别所有时区缩写。如果您的日志文件只使用 UTC(大多数是,因为服务器通常与时区无关,并且配置为 UTC),您会没事的。