我正在计算两个日期的日差。
在 C# 中
diffdays = (EndDate-StartDate).Days
因此,考虑到结束日期为 6/26/2015,开始日期为 6/10/2015,diffdays 值为 15,如调试时的“自动”部分所示。
在 SQL Server 中我正在做的是
SELECT DATEDIFF(day, StartDate, EndDate )
其中 EndDate 为 6/26/2015,startdate 为 6/10/2015,结果为 16。
我需要这两天的差异是相同的。我做错了什么?
The TimeSpan.Days
财产只返回全天,删除任何小数部分。取决于你们两个的时间部分DateTime
的,您可以预料到您所看到的行为。
尝试使用以下公式从方程中取出时间部分Date
属性(并有效地将两个时间设置为午夜):
diffdays = (EndDate.Date - StartDate.Date).Days
或者,您可以将TotalDays
属性(包括天数的小数部分):
diffdays = Math.Ceiling((EndDate - StartDate).TotalDays);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)