Преобразовать строку в формат даты и времени PowerShell

#powershell #datetime

#powershell #datetime

Вопрос:

Мне не помешала бы помощь в определении синтаксиса форматирования для преобразования строки в DateTime в PowerShell. Я перепробовал много комбинаций и продолжаю получать Exception calling "ParseExact" with "3" argument(s): "String was not recognized as a valid DateTime."

Код, который я пытаюсь использовать, выглядит следующим образом:

 $timeinfo = '1/‎3/‎2020 ‏‎9:56 AM'
$template = 'M/d/yyyy h:mm tt'
$culture = [Globalization.CultureInfo]::InvariantCulture
[DateTime]::ParseExact($timeinfo, $template, $culture)
  

Я использую синтаксис, который я нашел здесь: https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/parsing-custom-datetime-formats . Кто-нибудь захочет показать мне, что я делаю неправильно? Я застрял! Большое спасибо!

Комментарии:

1. Ваша $timeinfo строка заполнена скрытыми управляющими символами слева направо, очистите строку, и она будет работать: $timeinfo = $timeinfo -replace 'p{Cf}'

2. @MathiasR.Jessen большое вам спасибо! Это сделало свое дело! Никогда бы не подумал о скрытых персонажах.

Ответ №1:

попробуйте это, и пусть анализатор сделает всю работу:

 $timeinfo = '04/02/2020 02:00 PM'

[datetime]$timeinfo