linq to sql 如何返回两个日期的天数差值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linq to sql 如何返回两个日期的天数差值相关的知识,希望对你有一定的参考价值。
以前在用sql语句查询两个日期相差天数的时候,可以用DATEDIFF()函数。SELECT * FROM Pact where DATEDIFF(day, PactStateTime, PactEndTime)>3这个就可以求出日期相差大于3的天内容信息。但是现在用linq to sql 怎么来实现类型的功能。在linq to sql或者在ADO.Net Entity Data Model 中有没有类似于DATEDIFF()的函数。 请高手多多指教!啊。我的积分不够,所以请大家多多原谅。
可以这样 实现://请先: using System.Data.Linq.SqlClient; var query = (from pact in db.Pactwhere SqlMethods
.DateDiffDay(pact.PactStateTime, pact.PactEndTime) > 3
select pact).ToList(); 参考技术A DateTime beginDate;DateTime endDate;
//对beginDate、endDate赋值...
//读取数据库资料,假设数据库栏位名为:dateXvar q=from t in db.tableX where [b]t.dateX>=beginDate.Date && t.dateX<=beginDate.Date.AddDays(1)[/b]
以上查询方式避免了对列进行计算,提高了查询速度。
老同学.. 不要分.
日期差值
- 题目描述:
-
有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天
- 输入:
-
有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD
- 输出:
-
每组数据输出一行,即日期差值
- 样例输入:
-
20110412 20110422
- 样例输出:
-
11
- 来源:
- 2009年上海交通大学计算机研究生机试真题
-
#include <iostream> using namespace std; #define ISYEAR(x) x%100 != 0 && x%4 == 0 || x%400 == 0 ? 1:0 int dayOfMonth[13][2]={//声明一年中所有的月份的天数,包括平年,闰年 0,0, 31,31, 28,29, 31,31, 30,30, 31,31, 30,30, 31,31, 31,31, 30,30, 31,31, 30,30, 31,31 }; struct Date{ int Day; int Month; int Year; void nextDay(){//下一天 Day++; if (Day > dayOfMonth[Month][ISYEAR(Year)])//天数超过相应月份的天数? { Day=1;//天数变为1,月份+1 Month++; if (Month > 12)//月份超过12? { Month=1; Year++; } } } }; int buf[5000][13][32];//保存预处理的天数 //空间换时间 int Abs(int x){ return x>0 ? x : -x; } int main(){ Date tmp;//基准 int cnt=0;//天数计算 tmp.Day=1; tmp.Month=1; tmp.Year=0; while(tmp.Year <= 5001){//预先吧所有的天数都计算,保存起来 buf[tmp.Year][tmp.Month][tmp.Day]=cnt;//将该日与0年1月1日的天数差保存起来 tmp.nextDay();//计算下一天 cnt++;//计数器累加,每经过一天计数器即+1,代表与原点的日期间隔又增加了一天 } int d1,m1,y1; int d2,m2,y2; //进行多组数据的计算----多组 while(scanf("%4d%2d%2d", &y1, &m1, &d1) != EOF) //此处注意对于格式的控制 { //当日期1输入正确时,才进行日期2的读取 scanf("%4d%2d%2d", &y2, &m2, &d2); cout << Abs(buf[y2][m2][d2] - buf[y1][m1][d1] + 1) << endl; } return 0; }
1.空间换时间
2.找一个基准时间
3.scanf(“%d”,&m)!=eof 正确输入;多组数据处理
以上是关于linq to sql 如何返回两个日期的天数差值的主要内容,如果未能解决你的问题,请参考以下文章