【发布时间】:2020-03-07 05:39:30
【问题描述】:
我收到了日期时间字符串,格式如下:
2017-08-03T12:30:00.000Z
我需要能够将这些转换为 EST。我尝试过的每个函数都会引发一个或另一个错误,通常是:
"String was not recognized as a valid DateTime."
我尝试了以下变体:
$time = '2017-08-03T12:30:00.000Z'
[datetime]$datetime = $time
$culture = [Globalization.CultureInfo]::InvariantCulture
[DateTime]::ParseExact($datetime, 'MM-dd-yyyy HH:mm:ss', $culture)
我认为这与我引用的日期时间字符串如何具有 **T** 和 UTC 时间有关,但不知道该怎么做。也许我应该解析时间,转换它,然后重新附加到字符串的第一部分,日期,并将它们组合在一起以获得最终输出?似乎工作量太大,而且解决方案可能会导致将来出现潜在错误。
【问题讨论】:
-
您需要将 ParseExact 更改为变量中的日期时间格式。
[DateTime]::ParseExact($datetime, 'MM/dd/yyyy HH:mm:ss', $culture)注意“/”而不是“-”,这不会引发任何错误。这就是你要找的吗?
标签: powershell date datetime timezone utc