日期:2014-05-18  浏览次数:20811 次

C#中 关于比较时间
现在数据库中有条记录 time字段 内容为 2008-7-27 23:38:38
我要将它取出来将现在的时间进行比较。
如果现在的时间和它相比超过3分钟,我便执行某方法。没有超过则不执行。

请问如何实现?

我是这样写的
  DateTime Old = Convert.ToDateTime(TimeOld);//从数据库中读出来的那条记录的time字段里的内容
  DateTime Now = DateTime.Now;
  TimeSpan jiange = new TimeSpan(0, 3, 0);
  TimeSpan tsOld = new TimeSpan(Old.Ticks);
  TimeSpan tsNow = new TimeSpan(Now.Ticks);
  TimeSpan ts = tsNow.Subtract(jiange);
  if (Convert.ToInt32(ts.Minutes.ToString()) >= Convert.ToInt32(tsOld.Minutes.ToString()))
  {
  Markup();
  }
  else
  {
  if(Convert.ToInt32(ts.Hours.ToString()) >= Convert.ToInt32(tsOld.Hours.ToString()))
  {
  Markup();
  }
  else
  {
  if(Convert.ToInt32(ts.Days.ToString()) >= Convert.ToInt32(tsOld.Days.ToString()))
  {
  Markup();
  }
  }
  }

------解决方案--------------------
TimeSpan ts = now-old;

if ( ts.TotalSeconds>3)
{
...
}
else
{
...
}
------解决方案--------------------
DateTime Old = Convert.ToDateTime(TimeOld);//从数据库中读出来的那条记录的time字段里的内容 
DateTime Now = DateTime.Now;
if (Old.Subtract(Now).TotalMinutes > 3)
{
Markup(); 
}
------解决方案--------------------
code=C#] DateTime dt1 = DateTime.Now;
DateTime dt2 = DateTime.Now;

TimeSpan ts = dt1 - dt2;
if (ts.TotalMinutes > 3)
{ }[/code]