我使用的是ASP.NET,C#和SQL Server。在数据库中,日期为:2014-10-28
。只是年,月,日,没有时间部分。
我有这段代码:
DateTime data1 = new DateTime();
DateTime data2 = DateTime.Now;
data1 = reader.GetDateTime(3);
double total= (data2 - data1).TotalDays;
Response.Write(total.ToString());
唯一的问题是输出。这个输出是" 4,81351624131366"。因为这可能是小时数的差异。可以将data2设置为仅给出Y,M和D?
或将总数转换为天数?
答案 0 :(得分:0)
属性TotalDays
也会返回天数的小数部分。由于您比较的日期是4天前的午夜,您将获得4天的全天和额外的4/5(因为当您执行此操作时,它不是正好午夜)。
Jon说的话(使用DateTime.Today
代替DateTime.Now
来获取午夜时间的日期部分),或使用Days
属性,这将返回舍入的4并删掉小部分。