用DaysBetween函数Returns the number of whole days between two specified TDateTime values.UnitDateUtilsCategorydate/time routinesfunction DaysBetween(const ANow, AThen: TDateTime): Integer;DescriptionCall DaysBetween to obtain the difference, in days, between two TDateTime values.DaysBetween counts only whole days that have elapsed. Thus, DaysBetween reports the difference between Dec 31, 1999 11:59 PM and Jan 1, 2000 11:58 PM as 0 because the difference is one minute short of an entire day.
如果是TDATETIME,天数只要用两个日期相减,再取个整就可以了。
NoOfDays := Trunc(DateTime1-DateTime2);月份和年份稍稍麻烦一些。
NoOfDays := Trunc(DateTime1-DateTime2);
因为DateTime并不是只有日期的,它同时还有时间(虽然你不用它),如果是DateTime1=2002-12-10 10:30:00
DateTime2=2002-12-9 10:31:00
则DateTime1-DateTime2<1,那么你能说这两个日期间的天数是0吗?
解决方案是这样的
NoOfDays := Trunc(DateTime1)-Trunc(DateTime2);
'select * from 表名 where 日期 between #'+date1+'# and #'+date2+'# '
自己加一个query轻轻松松搞定。