$olddate = Get-Date -Date "31-dec-2013 00:00:00" -Format d.M.yyyy
$Now = Get-date -Format d.M.yyyy
Jak mogę sprawdzić, czy $ olddate jest wcześniejszy niż $ Now?Sprawdź, czy data w przeszłości
$olddate = Get-Date -Date "31-dec-2013 00:00:00" -Format d.M.yyyy
$Now = Get-date -Format d.M.yyyy
Jak mogę sprawdzić, czy $ olddate jest wcześniejszy niż $ Now?Sprawdź, czy data w przeszłości
Jeśli przechowywać je jako DateTime
zamiast jak sformatowanych ciągów, można użyć mniej niż operatora (-lt
) Podobnie jak w przypadku zwykłych liczb, a następnie użyć operatora Format (-f
), kiedy trzeba rzeczywiście wyświetlić datę :
$olddate = Get-Date -Date "31-dec-2013 00:00:00"
$Now = Get-Date
if($olddate -lt $Now){
"`$olddate is in the past!"
"{0:d.M.yyyy}" -f $olddate
"{0:d.M.yyyy}" -f $Now
}
Możesz również dokonać porównania na kleszcze. Np .: $olddate.Ticks
będzie -lt
, a następnie $Now.Ticks
.
Sprawdziłem to przed pytaniem. Nie działa – mzv
** Zaktualizowana odpowiedź ** - Kiedy używasz '-Format' z' Get-Date', dane wyjściowe są po prostu ciągiem, poczekaj, aż będziesz musiał je wyświetlić lub wypisać, aby sformatować ciąg, w ten sposób nie stracisz "porównywalności" –
OK, teraz widzę. Dzięki! – mzv