2012-08-13 46 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