Datetime.now作为TimeSpan值?

时间:2012-08-13 07:04:19

标签: c# datetime timespan seconds

我需要当前日期时间减去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);


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

7 个答案:

答案 0 :(得分:23)

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

答案 1 :(得分:14)

代码:

TimeSpan myDateResult = DateTime.Now.TimeOfDay;

答案 2 :(得分:6)

你有没有试过像

这样的东西
DateTime.Now.Subtract(new DateTime(1970, 1, 9, 0, 0, 00)).TotalSeconds

DateTime.Subtract Method (DateTime)

TimeSpan.TotalSeconds Property

答案 3 :(得分:5)

答案 4 :(得分: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());

答案 5 :(得分: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());

答案 6 :(得分:0)

TimeSpan myDateResult;

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