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

Làm cách nào để kiểm tra xem $ olddate có sớm hơn $ ngay bây giờ không?Kiểm tra xem ngày trong quá khứ

Trả lời

5

Nếu bạn lưu trữ chúng dưới dạng DateTime thay vì chuỗi được định dạng, bạn có thể sử dụng toán tử ít hơn (-lt) giống như với số thường, sau đó sử dụng toán tử định dạng (-f) khi bạn thực sự cần hiển thị ngày :

$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

Tôi đã kiểm tra điều này trước khi yêu cầu. Không hoạt động – mzv

+1

** Cập nhật câu trả lời ** - Khi bạn sử dụng '-Format' với' Get-Date', đầu ra chỉ là một chuỗi, đợi cho đến khi bạn thực sự cần hiển thị hoặc xuất nó để định dạng chuỗi, theo cách này bạn sẽ không mất "so sánh" –

+0

OK, bây giờ tôi thấy. Cảm ơn! – mzv

1

Bạn cũng có thể so sánh trên Ticks. I.e .: $olddate.Ticks sẽ là -lt rồi $Now.Ticks.

Các vấn đề liên quan