日期比较的问题

小C君 2006-05-15 11:59:48
要做一个友情提示,提示离有效日期小于一个月的商品,而有效日期我用的是DATETIMEPICKER录入的,保存在数据库里的格式是2006-4-7 14:48:36,请问怎么与当前日期比较,实现提示
...全文
253 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangpei2008 2007-02-10
  • 打赏
  • 举报
回复
Where
DateDiff(Day,当前日期,有效日期)=0
double22822 2007-02-10
  • 打赏
  • 举报
回复
不知道你用的是什么数据库,利用数据库的时间函数:
在相同当前时间上加上一个月的时间值 大于 有效日期 为符合要求的纪录

加上一个月的函数应该是数据库自己的函数,自己找找看吧!
ahjoe 2007-02-09
  • 打赏
  • 举报
回复
转成 TDateTime,然后用加减法就够了吧。
s2401056 2007-02-08
  • 打赏
  • 举报
回复
用DaysBetween()比较合理,支持!!!
s2401056 2007-02-08
  • 打赏
  • 举报
回复
d := now+30; 中的now 不用定义的吗
str := 'select * from 表名 where 时间字段<=:ddate' 中的:ddate是什么
小弟新学,请多指教
-------------------------------------------------------------------
1,now是函数,取系统时间;
2,纠正下:ddate应该改成:d,作为一个参数用于sql语句变量;
小C君 2006-05-16
  • 打赏
  • 举报
回复
d := now+30; 中的now 不用定义的吗
str := 'select * from 表名 where 时间字段<=:ddate' 中的:ddate是什么
小弟新学,请多指教
slipsun 2006-05-16
  • 打赏
  • 举报
回复
DaysBetween()
Rubi 2006-05-15
  • 打赏
  • 举报
回复
formatDateTime('YYYY-MM-DD',adoquery1.fieldByname(time).values)
jiazhongyou 2006-05-15
  • 打赏
  • 举报
回复
var
d:tdateTime;
str:string;
begin
d := now+30;
str := 'select * from 表名 where 时间字段<=:ddate'
with query1 do
begin
close;
sql.text := str;
参数初始值
open;
end;
end;
yuyunhappy 2006-05-15
  • 打赏
  • 举报
回复
var
d:tdate;
str:string;
begin
d := now+30;
str := 'select * from 表名 where 时间字段<=:ddate'
with query1 do
begin
close;
sql.text := str;
参数初始值
open;
end;
end
这样就行了
luonan0320 2006-05-15
  • 打赏
  • 举报
回复
就你说的有效日期(2006-4-7 14:48:36)而言:
小于这个月的表达式就是
2006-3-7 14:48:36
我觉得你应该不要输入有效日期的时分秒.这样好些!
有效日期:
between (有效日期)-30 AND 有效日期
xf_sh 2006-05-15
  • 打赏
  • 举报
回复
uses
DateUtils,...;

var
Days:Integer;
begin
...
Days:=DaysBetween(now,adoquery1.fieldByname(time).AsDateTime);
if Days<=30 then
提示
end;

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧