Datetime.now作为TimeSpan值?

我需要当前的Datetime减去myDate1以秒为单位。

 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); 


它的计算方式并不重要,输出应该只是这些值与秒的差值。

你的代码是正确的。 您将时间差作为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; 

码:

 TimeSpan myDateResult = DateTime.Now.TimeOfDay; 

你尝试过类似的东西吗?

 DateTime.Now.Subtract(new DateTime(1970, 1, 9, 0, 0, 00)).TotalSeconds 

DateTime.Subtract方法(DateTime)

TimeSpan.TotalSeconds属性

你需要获得你的时间跨度的.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()); 

您可以使用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()); 
 TimeSpan myDateResult; myDateResult = DateTime.Now.Subtract(new DateTime(1970,1,9,0,0,00)); myDateResult.TotalSeconds.ToString();