我的表格上有一个TDateTimePicker和Kind=dtkDate。
当表单打开时,我会
TDateTimePicker.date := Date我有一个var lStartDay : TDateTime;
lStartDay := DatePickerStart.Date;我没有在用户界面中接触到TDateTimePicker。
现在,“评估/修改(Ctrl-F7)”对话框和监视列表(以及光标悬停在代码上)显示DatePickerStart.Date为8-1-2014,但StartDate为8-1-2014 15:00。
当我将手表值DatePickerStart.Date编辑为,而不是使用可视化工具时,它显示了41647,625 (我花了一些时间才找到它!)
为什么TDateTimePicker.Date包含一个时间分数?
发布于 2014-01-08 09:43:05
回答我自己的问题,以防止别人跌入同一个坑:
结果是,当您在窗体上放置一个TDateTimePicker时,Time属性将被填充当前时间,并且它总是作为DatePickerStart.Date的一部分返回。我的在15:00被放在表格上。
即使在使用TDateTimePicker时,时间仍然是“in”,所以请选择另一个日期。
因此,要解决这个问题:在设计时清除Time属性(变为00:00:00)和/或在只需要日期时始终使用Trunc(TDateTimePicker.Date)或DateOf(TDateTimePicker.Date)。
TDateTimePicker.Date本身不返回日期!。
https://stackoverflow.com/questions/20991944
复制相似问题