编程日日帖(04-50)

编程魔方

Delphi:巧用函数获取日期

笔者在工作中用Delphi+Access做了一个成绩查询系统。在输入查询条件的时候,用了三个datetimepicker控件给用户选择要查询的日期范围。

三个datetimepicker控件分别按顺序命名为DTP1,DTP2,DTP3。其中“等于”条件中,系统的初始值为当前的日期。这个可以直接在窗口显示的时候用 “DTP1.Date:=date;”实现。

而在“介于”时间条件中,我想在第二个控件显示当前年的第一天,第三个控件显示当前日期,也就是初始时间段为今年。实现代码如下:

DTP2.Date:=strtodate(copy(datetostr(date),1,4)+'-01-01');

DTP3.Date:=date;

其中strtodate是将字符串转化为日期格式。Copy是字符串拷贝函数。在这里我先用datetostr(date)得到当前日期并且转化为相应的字符串,再用copy(datetostr(date),1,4)拷贝当前日期字符串的前四位,也就是当前的年份,再最后加上'-01-01'就形成了今年第一天的日期的字符串,例如 '2004-01-01'。接着把字符串再转化成datetime(日期时间)类型(用strtodate函数实现),然后把最终得到的值赋给DTP2即可。