2015-02-12 10 views

Odpowiedz

5

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 
} 
+0

Sprawdziłem to przed pytaniem. Nie działa – mzv

+1

** 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" –

+0

OK, teraz widzę. Dzięki! – mzv

1

Możesz również dokonać porównania na kleszcze. Np .: $olddate.Ticks będzie -lt, a następnie $Now.Ticks.

Powiązane problemy