我正在计算两个日期的日差.在C#中diffdays = (EndDate-StartDate).Days因此,考虑到Enddate为2015年6月26日并且在2015年6月10日开始时,diffdays值为15,如调试时的Autos部分所示.在SQL服务器中我正在做的事情SELECT D...
![](https://oss.womengda.net/imgfile/2310/1ER2I5433130-113D7.jpg)
我正在计算两个日期的日差.
在C#中
diffdays = (EndDate-StartDate).Days
因此,考虑到Enddate为2015年6月26日并且在2015年6月10日开始时,diffdays值为15,如调试时的Autos部分所示.
在SQL服务器中我正在做的事情
SELECT DATEDIFF(day, StartDate, EndDate )
其中EndDate是2015年6月26日,startdate是2015年6月10日,结果为16.
我需要这两天的差异是一样的.我做错了什么?
解决方法:
TimeSpan.Days属性仅返回整天,丢弃任何小数部分.根据您的两个DateTime的时间部分,您可以期待您所看到的行为.
尝试使用Date属性将时间部分取出等式(并有效地将两次设置为午夜):
diffdays = (EndDate.Date - StartDate.Date).Days
或者,您可以对TotalDays属性进行舍入(包括天数的小数部分):
diffdays = Math.Ceiling((EndDate - StartDate).TotalDays);
沃梦达教程
本文标题为:日期SQL和C#中两个日期计算之间的日期差异产生不同的结果
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
猜你喜欢
- C#实现简单串口通讯实例 2023-05-22
- 解决在Unity中使用FairyGUI遇到的坑 2023-04-14
- c#将字节数组转成易读的字符串的实现 2023-02-07
- VS2017使用Git进行源代码管理的实现 2023-03-09
- linux部署.net core api并且实现上传图片 2023-09-26
- C#实现Word转为PDF的方法 2023-01-11
- C# 打开蓝牙设置界面的两种方法 2023-03-04
- C#中的三种定时计时器Timer用法介绍 2023-05-23
- C#实现汉字转汉语拼音的示例代码 2023-05-25
- Unity实现微信聊天框界面 2023-05-06