Преобразовать строку в дату в Powershell - PullRequest
0 голосов
/ 14 апреля 2020

Сегодня я столкнулся с проблемой преобразования этого типа строки «03.08.2020 10:29:33», которую мне нужно преобразовать в формат даты.

Я пробую команду такого типа и каждый раз получаю сообщение об ошибке:

$PwdExpiracy = "8/3/2020 10:29:33 AM"
$date = [datetime]::ParseExact($PwdExpiracy,'MM/dd/yyyy HH:mm:ss tt',$null)

Ошибка:

Exception calling "ParseExact" with "3" argument(s): "String was not recognized as a valid DateTime."
Au caractère Ligne:1 : 1
+ $date = [datetime]::ParseExact($PwdExpiracy,'MM/dd/yyyy HH:mm:ss tt',$nu ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : FormatException

Не могли бы вы помочь мне с этим? Это было бы очень мило с вашей стороны!

1 Ответ

3 голосов
/ 14 апреля 2020

Вы используете спецификаторы формата для дат с ведущими нулями и 24-часовым временем - измените на следующее:

$date = [datetime]::ParseExact($PwdExpiracy,'M/d/yyyy hh:mm:ss tt',$null)
  • M - это месяц без ведущие нули
  • d - это день без начальные нули
  • hh - это час в 12-часовом времени (AM / PM)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...