c# 计算时间差---天数

---处理两个时间相差的天数

   测试数据;三个时间

1 DateTime dt1 = Convert.ToDateTime("2017-03-17 09:49:55.667");
2             
3 DateTime dt2 = Convert.ToDateTime("2017-03-16 16:51:46.310");
4 
5 DateTime dt3 = Convert.ToDateTime("2017-04-01 11:00:00.432");

     使用DateTime相减得到TimeSpan ts1 ts2

//使用DateTime相减得到TimeSpan ts1 ts2
            
TimeSpan ts1 = dt3.Subtract(dt1).Duration();
TimeSpan ts2 = dt3.Subtract(dt2).Duration();

string Days_1 = ts1.Days.ToString();
string Days_2 = ts2.Days.ToString();

   格式化时间--格式化后相减

//格式化时间
DateTime Convert_dt1 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", dt1.Year, dt1.Month, dt1.Day));
DateTime Convert_dt2 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", dt2.Year, dt2.Month, dt2.Day));

DateTime Convert_dt3 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", dt3.Year, dt3.Month, dt3.Day));
//格式化后相减

string Days_3 = (Convert_dt3 - Convert_dt1).Days.ToString();
string Days_4 = (Convert_dt3 - Convert_dt2).Days.ToString();

  结果显示:

1 Response.Write("dt3 和 dt1 使用DateTime直接相减 得到天数:" + "<br />");
2 Response.Write(dt3 + "--------" + dt1 + "相差:    " + Days_1 + " 天<br />");
3 Response.Write("dt3 和 dt2 使用DateTime直接相减 得到天数:" + "<br />");
4 Response.Write(dt3 + "--------" + dt2 + "相差:    " + Days_2 + " 天<br />");
5 Response.Write("dt3 和 dt1 先格式化后再使用DateTime相减 得到天数:" + "<br />");
6 Response.Write(dt3 + "--------" + dt1 + "相差:    " + Days_3 + " 天<br />");
7 Response.Write("dt3 和 dt2 先格式化后再使用DateTime相减 得到天数:" + "<br />");
8 Response.Write(dt3 + "--------" + dt2 + "相差:    " + Days_4 + " 天<br />");

 

posted @ 2017-04-01 10:53  Z&K  阅读(23632)  评论(0编辑  收藏  举报