$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ứ
$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ứ
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
}
Bạn cũng có thể so sánh trên Ticks. I.e .: $olddate.Ticks
sẽ là -lt
rồi $Now.Ticks
.
Tôi đã kiểm tra điều này trước khi yêu cầu. Không hoạt động – mzv
** 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" –
OK, bây giờ tôi thấy. Cảm ơn! – mzv