2015-02-12 83 views
5
$olddate = Get-Date -Date "31-dec-2013 00:00:00" -Format d.M.yyyy 
$Now = Get-date -Format d.M.yyyy 

如何检查$ olddate是否早于$ Now?检查过去的日期

回答

5

如果将它们存储为DateTime,而不是为格式的字符串,您可以使用格式运算符(-f)小于运算符(-lt),就像一般的数字,然后使用,当你需要实际显示日期:

$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

我询问之前检查过。不起作用 – mzv 2015-02-12 09:18:40

+1

**已更新的答案** - 当使用具有Get-Date的'-Format'时,输出只是一个字符串,等到您确实需要显示或输出它来格式化字符串时,这样你不会失去“可比性” – 2015-02-12 09:20:23

+0

好吧,现在我明白了。谢谢! – mzv 2015-02-12 09:25:24

1

您还可以对Ticks进行比较。 I.e .: $olddate.Ticks将是-lt,然后是$Now.Ticks