我正在计算两个日期的日差.在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#中两个日期计算之间的日期差异产生不同的结果
基础教程推荐
猜你喜欢
- C#中Backgroundworker与Thread的区别 2023-06-14
- 实例讲解C# 泛型(Generic) 2023-03-03
- C#条件编译、内联函数、CLS介绍 2023-05-26
- C#开发Windows UWP系列之3D变换 2023-06-21
- Unity代码实现序列帧动画播放器 2023-01-12
- C#中try...catch的使用与常见面试题分享 2022-11-02
- c# – USING块在网站与Windows窗体中的行为不同 2023-09-20
- C#滑动验证码拼图验证功能实现(SlideCaptcha) 2023-06-04
- c# – 如何对将数据项添加到数据库的方法进行单元测试? 2023-11-22
- c#中task与thread区别及其使用的方法示例 2023-05-22