2013-07-29 30 views
6

Tôi có thể kiểm tra bằng cách sử dụng một số biểu mẫu if nếu một số DateTime nhất định (ví dụ: ngàyAndTime1) trước ngày và giờ hiện tại mà tôi cho là sẽ được truy xuất bằng cách sử dụng DateTime.Now?Kiểm tra xem DateTime có trước DateTime.Now

+0

http://msdn.microsoft.com/en-us/library/system.datetime.compare.aspx .. là một cách. Như những người khác đã chỉ ra, các toán tử so sánh thông thường cũng hoạt động. –

+4

Có gì sai với 'if (dateAndTime1

Trả lời

23
if(dateAndTime1 < DateTime.Now) 
{ 
    //do something 
} 
+0

Oh cảm ơn, tôi đã không nhận ra nó là đơn giản – Newbie

3

các <, < =,>,> = và == khai thác làm việc trên trường DateTime, vì vậy

if(dateAndTime1 < DateTime.Now)

Lưu ý rằng nếu bạn đang so sánh này trong vòng một, một số hiệu quả nhỏ có thể đạt được bằng cách thiết lập DateTime now = DateTime.Now trước khi vòng lặp và so sánh với now

+1

mỗi ghi chú của bạn: bạn đang phải trừ trường hợp cạnh đó là một quá trình chạy dài và 'now' luôn cần phải là' DateTime.Now' ngay lập tức. Điều này là do khi đặt biến 'now', nó sẽ cũ trong các quy trình chạy dài ... như tôi đã nói," trường hợp cạnh "và có thể hiếm khi gặp phải. –

+0

Điểm tốt Chase – welegan

2
if(dateTime1 < DateTime.Now){} 
1

Inline w orks quá.

// bool variable 
bool isHistory = dateAndTime1 < DateTime.Now; 

// string return statement 
return dateAndTime1 < DateTime.Now ? "History" : "Future"; 
+1

Chỉ cần cho lợi ích của tất cả mọi người, tên cho các biểu thức được sử dụng trong ví dụ của bạn là một biểu thức ternary. – Jim

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