0

在我的 C# 代码中,我使用DateTime.Now获取时间,稍后再使用。但是现在我怎样才能将这两个日期对象之间的差异以秒为单位作为整数值呢?

4

4 回答 4

11
long seconds = (long)(then - now).TotalSeconds;

减去两个DateTimes 将返回一个TimeSpan对象,该对象具有整数Seconds属性(介于 0 和 60 之间)和浮点TotalSeconds属性。

于 2012-12-27T15:49:12.267 回答
4

您是否考虑过使用StopWatch对象?

using System.Diagnostics;

Stopwatch watch = Stopwatch.StartNew();

// execute some code here....

parserWatch.Stop();

然后你可以得到这样的秒数:

int seconds = watch.ElapsedMilliseconds / 1000;

或者一个TimeSpan对象,如果你想:

TimeSpan time = watch.Elapsed;
于 2012-12-27T15:55:18.537 回答
3

使用减法的另一种方法:

 double second = then.Subtract(now).TotalSeconds;
于 2012-12-27T15:52:03.240 回答
3
 double starttime = Environment.TickCount;
  // do sth
 double endtime = Environment.TickCount;
 double millisecs = endtime - starttime;  // this is in milliseconds.
 double seconds = (millisecs / 1000);         //  this is in seconds.
于 2012-12-27T16:02:03.897 回答