Преобразование строк в DateTime в PowerShell

Я пытаюсь преобразовать значение временной метки файла в дату для сравнения двух различий по времени.

Данные будут поступать в формате 24122014_022257. Мне нужно преобразовать это в дату, чтобы я мог сравнивать значения:

$usdate="24122014_022257"   
$dateParts = $usdate -split "_"   
$final = $dateparts[0] + $dateParts[1]   

Как я могу это сделать?

Ответ 1

Вы можете использовать метод ParseExact:

[datetime]::ParseExact('24122014_022257','ddMMyyyy_HHmmss',$null)

Wednesday, December 24, 2014 2:22:57 AM

Ответ 2

ParseExact сделает именно это. Вы можете указать пользовательский формат даты и времени во втором параметре. Вы можете оставить третий параметр равным нулю или указать культуру для использования (это может иметь значение, если вы импортируете файлы, созданные из системы с другим часовым поясом).

$usdate="24122014_022257"
[datetime]::ParseExact($usdate,"ddMMyyyy_HHmmss", [System.Globalization.CultureInfo]::CurrentCulture)

Ответ 3

get-date 24122014022257

Среда, 24 декабря 2014 г. 2:22:57