PowerShell: Странная строка формата даты для даты и времени - PullRequest
0 голосов
/ 14 мая 2018

У меня проблемы с обработкой странного формата даты, экспортированного из журнала событий.

Это выглядит следующим образом: Пн, 14 мая, 09:32:59 UTC 2018

И я попытался Получить дату , вплоть до:

$stringToDatetime2 = [Datetime]::ParseExact("$($TaskFailures[0].time)", "ddd MMM dd HH:mm:ss ZZZ yyyy", $null)

У меня такое чувство, что я, вероятно, делаю что-то не так, что очевидно.Это то чувство, которое я испытываю.

1 Ответ

0 голосов
/ 14 мая 2018

Вопрос, который вы задаете: «Как заставить [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)

Обратите внимание (обман) .Replace.

К сожалению, я не могу найти надежный способ распознать все сокращения часовых поясов. Если ваш файл журнала только в формате UTC (в большинстве случаев, поскольку серверы обычно не зависят от часового пояса и настроены в формате UTC), все будет в порядке.

...