我正在计算两个日期的日差.在C#中diffdays = (EndDate-StartDate).Days因此,考虑到Enddate为2015年6月26日并且在2015年6月10日开始时,diffdays值为15,如调试时的Autos部分所示.在SQL服务器中我正在做的事情SELECT D...

我正在计算两个日期的日差.
在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#中两个日期计算之间的日期差异产生不同的结果


基础教程推荐
猜你喜欢
- Unity ScrollView实现自动吸附效果 2023-04-26
- Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台 2023-09-28
- 基于C#调用OCX控件的常用方法(推荐) 2022-12-01
- c#使用Aspose打印文件的示例 2023-04-14
- Identityserver4之.net core web客户端的接入过程 2023-09-28
- VsCode使用EmmyLua插件调试Unity工程Lua代码的详细步骤 2023-06-28
- c# – 将集合绑定到Windows窗体中的DataGridView 2023-09-19
- 输出的文本实现对齐的方法(超简单) 2022-12-01
- c# – 包含SqlGeometry的数据表导致存储过程执行失败…为什么? 2023-11-10
- c# – 使用Data Reader访问两个数据库 2023-11-10