PowerShell:奇怪的日期格式字符串到日期时间
我在处理从事件日志导出的奇怪日期格式时遇到问题 如下所示: 2018年5月14日星期一09:32:59 UTC 我尝试了generic获取日期,一直到:PowerShell:奇怪的日期格式字符串到日期时间,powershell,datetime-format,data-conversion,string-to-datetime,Powershell,Datetime Format,Data Conversion,String To Datetime,我在处理从事件日志导出的奇怪日期格式时遇到问题 如下所示: 2018年5月14日星期一09:32:59 UTC 我尝试了generic获取日期,一直到: $stringToDatetime2 = [Datetime]::ParseExact("$($TaskFailures[0].time)", "ddd MMM dd HH:mm:ss ZZZ yyyy", $null) 我有一种感觉,很明显我可能做错了什么。这就是我得到的感觉。你问的问题是“我如何获得[DateTime]::ParseExa
$stringToDatetime2 = [Datetime]::ParseExact("$($TaskFailures[0].time)", "ddd MMM dd HH:mm:ss ZZZ yyyy", $null)
我有一种感觉,很明显我可能做错了什么。这就是我得到的感觉。你问的问题是“我如何获得
[DateTime]::ParseExact
将“UTC”视为“+0000”?”
我无法让它工作,但我确实做到了以下几点:
[DateTimeOffset]::ParseExact(
"Mon May 14 09:32:59 UTC 2018".Replace("UTC", "+0000"),
"ddd MMM dd HH:mm:ss zzz yyyy",
[CultureInfo]::InvariantCulture)
注意(作弊)。替换
不幸的是,我无法找到一种可靠的方法来识别所有时区缩写。如果您的日志文件只有UTC格式(大多数都是,因为服务器通常不受时区限制,并且是以UTC格式配置的),您就没事了。您要问的问题是“如何获得
[DateTime]::ParseExact
将“UTC”视为“+0000”?”
我无法让它工作,但我确实做到了以下几点:
[DateTimeOffset]::ParseExact(
"Mon May 14 09:32:59 UTC 2018".Replace("UTC", "+0000"),
"ddd MMM dd HH:mm:ss zzz yyyy",
[CultureInfo]::InvariantCulture)
注意(作弊)。替换
不幸的是,我无法找到一种可靠的方法来识别所有时区缩写。如果您的日志文件只有UTC格式(大多数都是,因为服务器通常是时区不可知的,并且是在UTC中配置的),您就没事了。嗯,该字符串不是有效的日期。您必须自己解析它,并生成可以转换为日期的内容。事件中导出的日期是什么?或事件中的部分文本?该字符串怎么不是有效日期?这是自Unix时代以来的1526290379秒,使用UTC中的“C”语言环境格式化。请在Linux机器上的bash中尝试
LC_ALL=C date-u--date=@1526290379
。@incorrigible1是一个单独的列,谢天谢地。。。。主要是UTC位让我不舒服,因为如何处理ZZZ似乎不起作用。。。或任何时区3字母指示器,如EST。。。您如何使get date或[datetime]识别您正在使用get EventLog
检索此内容?嗯,该字符串不是有效的日期。您必须自己解析它,并生成可以转换为日期的内容。事件中导出的日期是什么?或事件中的部分文本?该字符串怎么不是有效日期?这是自Unix时代以来的1526290379秒,使用UTC中的“C”语言环境格式化。请在Linux机器上的bash中尝试LC_ALL=C date-u--date=@1526290379
。@incorrigible1是一个单独的列,谢天谢地。。。。主要是UTC位让我不舒服,因为如何处理ZZZ似乎不起作用。。。或任何时区3字母指示器,如EST。。。如何让get-date或[datetime]识别您正在使用get-EventLog
检索此日志?