24

我需要以秒为单位减去当前日期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);

.
它的计算方式无关紧要,输出应该只是这些值与以秒为单位的值的差异。

4

7 回答 7

33

代码:

TimeSpan myDateResult = DateTime.Now.TimeOfDay;
于 2015-03-25T09:23:33.617 回答
30

你的代码是正确的。您将时间差作为一个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;
于 2012-08-13T07:18:58.577 回答
6

你有没有尝试过类似的东西

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

DateTime.Subtract 方法 (DateTime)

TimeSpan.TotalSeconds 属性

于 2012-08-13T07:06:37.807 回答
5

怎么样

myDateResult.TotalSeconds

http://msdn.microsoft.com/en-us/library/system.timespan.totalseconds

于 2012-08-13T07:06:54.117 回答
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());
于 2012-08-13T07:12:51.703 回答
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());
于 2012-08-13T07:16:26.020 回答
0
TimeSpan myDateResult;

myDateResult = DateTime.Now.Subtract(new DateTime(1970,1,9,0,0,00));
myDateResult.TotalSeconds.ToString();
于 2014-09-13T03:24:56.743 回答