时间差的计算

老有同事问怎么C#中怎么计算两时间相差多少。
有的回答说:分别取出年、月、日......分别计算再拼起来,其实.Net里已经提供很方便的方法,我是这么计算的,觉得还算简便,哪位有更简便的方法给我来一份吧。

label1.Text = "2004-1-1 15:36:05";
label2.Text = "2004-3-1 20:16:35";
   
   DateTime d1 =new DateTime(2004,1,1,15,36,05);
   DateTime d2 =new DateTime(2004,3,1,20,16,35);
   
   TimeSpan d3 = d2.Subtract(d1);

   label3.Text = "相差:"
    +d3.Days.ToString()+"天"
    +d3.Hours.ToString()+"小时"
    +d3.Minutes.ToString()+"分钟"
    +d3.Seconds.ToString()+"秒";

结果如图:

----------------------------------------------------------------------------------------------------------------
1 DateTime a = DateTime.Now;
2 DateTime b = a.AddDays(-14);
3 TimeSpan c = a.Subtract(b);
4 int d = c.Days;
-------------------------------------------------
今天上午写了一段代码,是使用当前时间减去一些天作为查询条件,可是一调试,怎么弄都少一天,后来突然想起可能是精度问题,四舍五入给弄掉了。

看看下面的代码,就差了一条语句的执行时间,结果就出了一天的偏差。写出来的代码,想当然是不行的,还得测呀!
最初我是这么写,以为没有问题,结果一运行就是少一天

1             DateTime a = DateTime.Now;
2            DateTime b = DateTime.Now.AddDays(-14);
3            TimeSpan c = a.Subtract(b);
4            int d = c.Days;// d = 13


后来调了一下顺序就正常了

1    DateTime b = DateTime.Now.AddDays(-14);
2            DateTime a = DateTime.Now;
3            TimeSpan c = a.Subtract(b);
4            int d = c.Days;// d = 14

 我得机器可以P4 2.4/ 512m 的机器呀。不知道一条语句执行要花费多少时间:(
http://skyfei.cnblogs.com/archive/2005/07/21/197276.html
------------------------------------------------------------------

posted @ 2005-12-30 01:18  torome  阅读(659)  评论(0编辑  收藏  举报