给DatetimePicker赋值时,可以通过界面设置赋值,也可以通过代码赋值。
通常,我们会给表示起始时间的dtp赋值为 00:00:00,给表示结束时间的dtp赋值为23:59:59。
代码如下:
dtp1.time:=strtodatetime('00:00:00');
dtp2.time:=strtodatetime('23:59:59');
但这种方式有硬编码的嫌疑,而且在对表示日期的datetimepicker赋值时,因为strtodatetime函数在winxp和win7下默认的时间格式不同,可能引发异常。
那么有没有一种比较好的方式来赋值呢。当然是有的。
以给 kind=dtkTime 的 datetimePicker 赋值为例,代码如下。(需引用DateUtiles单元)
dtp1.Time:= StartOfTheDay(Now);
dtp2.Time:=EndOfTheDay(Now);
给日期类型的DatetimePicker赋值也是一样的,利用startofamonth,endofamonth等函数即可。