2012-08-13 22 views
10

我需要以秒爲單位的當前日期時間減去myDate1Datetime.now作爲TimeSpan值嗎?

DateTime myDate1 = new DateTime(1970, 1, 9, 0, 0, 00); 
DateTime myDate2 = DateTime.Now; 

TimeSpan myDateResult = new TimeSpan(); 

myDateResult = myDate2 - myDate1; 



我試過不同的方法來計算,但沒有效果。

TimeSpan mySpan = new TimeSpan(myDate2.Day, myDate2.Hour, myDate2.Minute, myDate2.Second); 


它的計算方式並不重要,輸出應該只是它們與秒之間的差值。

+1

你不需要做'myDateResult = new TimeSpan();' - 你不必爲每個變量都有一個初始化表達式和/或你可以使初始化器成爲下面的表達式。 – 2012-08-13 07:08:42

+2

@ user1559441,你已經計算出TimeSpan'myDateResult'的差異,你可以使用'TotalSeconds'屬性來獲得秒差 – Habib 2012-08-13 07:12:06

+1

是的,'.TotalSeconds'就是答案。謝謝 – MrMAG 2012-08-13 07:32:51

回答

21

你的代碼是正確的。你有時間差爲TimeSpan值,所以你只需要使用TotalSeconds屬性來獲取它的秒:

DateTime myDate1 = new DateTime(1970, 1, 9, 0, 0, 00); 
DateTime myDate2 = DateTime.Now; 

TimeSpan myDateResult; 

myDateResult = myDate2 - myDate1; 

double seconds = myDateResult.TotalSeconds; 
2

你需要得到你的時間跨度的.TotalSeconds屬性:

DateTime myDate1 = new DateTime(2012, 8, 13, 0, 05, 00); 
DateTime myDate2 = DateTime.Now; 
TimeSpan myDateResult = new TimeSpan(); 
myDateResult = myDate2 - myDate1; 
MessageBox.Show(myDateResult.TotalSeconds.ToString()); 
1

您可以使用Subtract方法:

DateTime myDate1 = new DateTime(1970, 1, 9, 0, 0, 00); 
DateTime myDate2 = DateTime.Now; 
TimeSpan ts = myDate2.Subtract(myDate1); 
MessageBox.Show(ts.TotalSeconds.ToString()); 
0
TimeSpan myDateResult; 

myDateResult = DateTime.Now.Subtract(new DateTime(1970,1,9,0,0,00)); 
myDateResult.TotalSeconds.ToString(); 
4

代碼:

TimeSpan myDateResult = DateTime.Now.TimeOfDay; 
+0

請使用代碼標記(在代碼行前添加4個空格),我會自己編輯它,但這是一個很小的變化,系統不會讓我。 – 2015-03-25 09:29:44

+0

這應該是被接受的答案,因爲它匹配100%的主題問題。 – 2018-01-19 18:05:10