时间差的计算
老有同事问怎么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;
-------------------------------------------------
今天上午写了一段代码,是使用当前时间减去一些天作为查询条件,可是一调试,怎么弄都少一天,后来突然想起可能是精度问题,四舍五入给弄掉了。
看看下面的代码,就差了一条语句的执行时间,结果就出了一天的偏差。写出来的代码,想当然是不行的,还得测呀!
最初我是这么写,以为没有问题,结果一运行就是少一天
2 DateTime b = DateTime.Now.AddDays(-14);
3 TimeSpan c = a.Subtract(b);
4 int d = c.Days;// d = 13
后来调了一下顺序就正常了
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
------------------------------------------------------------------