2010-09-28 71 views

回答

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

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

(int)(date1 - date2).TotalSeconds將防止使用秒的小數部分 – ckg 2012-07-12 04:24:36

12

如果減去另一個日期,它返回一個TimeSpan具有TotalSeconds屬性。所以:

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

秒與TotalSeconds不同。 – 2010-09-28 19:09:15

+0

我發佈和編輯那裏然後。 :)謝謝指出。 – Yogesh 2010-09-28 19:10:05

27

你的意思是比較兩個DateTime下到第二?如果是這樣,你可能想是這樣的:

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)) 
{ 
    ... 
} 

另外,找出兩個日期時間是否在彼此的一秒鐘內:

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

如果沒有這些幫助,請提供更多的細節在問題中。

+1

我喜歡RoundToSecond方法,它可以很清楚地說明當你調用它時發生了什麼 – 2016-07-21 00:43:45

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

dif將是0:0:0:0形式,其中第三個值是秒。