Проблема, сравнивающая созданную дату с текущей датой
Надеюсь, кто-нибудь может мне помочь. У меня возникают проблемы при сравнении текущей даты с датой создания файла. Вывод, который я получаю от каждой даты, ниже вместе с моим кодом.
Создан вывод даты:
21/05/2012 10:27:25
Текущая дата вывода:
05.05.2013, 12:00:00
Можно ли сравнить эти даты?
Мой код выглядит следующим образом:
$host = Read-Host 'Host: '
$username = Read-Host 'Username: '
$password = Read-Host 'Password: '
Connect-VIServer -Server $host -User $username -Password $password
$snapshotDate = Get-Snapshot -VM CONVCORPSPOINT | Select-Object Created | Format-Table -HideTableHeaders
$currentDate = Get-Date | Select-Object Date | Format-Table -HideTableHeaders
$snapshotDate
$currentDate
if ($snapshotDate -lt $currentDate) {
Write-Host 'The snapshot date is earlier than the current date'
}
else {
Write-Host 'The snapshot date is not earlier than the current date'
}
2 ответа
Попробуй это:
$x = Get-Date
Вы можете получить список всех методов, связанных с объектом даты, которые делают это:
$x | gm
Вы можете отформатировать свою дату следующим образом:
$x.ToString("yyyyMMdd hh:mm:ss")
Все параметры формата описаны здесь. Затем вы можете нормализовать свои даты и сравнить их легко.
Распространенным решением является сравнение только с частью даты (не включая части времени). Вы можете сделать это, сравнив свойство Date (которое устанавливает время в полночь):
$date.Date
Или путем явного сравнения с короткой строкой:
$date.ToShortDateString()