2010-09-28 32 views
18

Cách so sánh hai DateTime với số giây?Cách so sánh hai DateTime với số giây?

+6

Bạn có thể muốn chấp nhận một số câu trả lời. Tôi chắc chắn trong tất cả những câu hỏi đó, ai đó phải trả lời nhiều hơn chỉ là một cặp vợ chồng. –

Trả lời

34
var date1 = DateTime.Now; 
var date2 = new DateTime (1992, 6, 6); 

var seconds = (date1 - date2).TotalSeconds; 
+9

(int) (ngày1 - ngày 2) .Tổng số giây sẽ ngăn các phân số của giây được sử dụng – ckg

12

Nếu bạn trừ đi một ngày từ khác, nó sẽ trả về một TimeSpan trong đó có một tài sản TotalSeconds. Vì vậy:

double seconds = (Date1 - Date2).TotalSeconds; 
+1

Giây không giống với Tổng số giây. –

+0

Tôi đã đăng và chỉnh sửa ở đó và sau đó. :) Cảm ơn bạn đã chỉ ra. – Yogesh

27

Bạn có nghĩa là so sánh hai giá trị DateTimexuống thứ hai? Nếu vậy, bạn có thể muốn một cái gì đó như:

private static DateTime RoundToSecond(DateTime dt) 
{ 
    return new DateTime(dt.Year, dt.Month, dt.Day, 
         dt.Hour, dt.Minute, dt.Second); 
} 

... 

if (RoundToSecond(dt1) == RoundToSecond(dt2)) 
{ 
    ... 
} 

Ngoài ra, để tìm hiểu xem hai DateTimes nằm trong một giây của mỗi khác:

if (Math.Abs((dt1 - dt2).TotalSeconds) <= 1) 

Nếu không có những sự giúp đỡ, xin vui lòng cho biết thêm chi tiết trong câu hỏi.

+1

Tôi thích phương pháp RoundToSecond, nó làm cho nó rất rõ ràng những gì đang xảy ra khi bạn gọi nó –

2
DateTime start = DateTime.now; 
DateTime end = DateTime.end; 
TimeSpan dif = end - start; 

dif sẽ có dạng 0: 0: 0: 0 trong đó giá trị thứ ba là giây.