这是一个来自 Delphi XE7 的 DatetTimePicker 的奇怪问题的简单问题。
我有这个代码...
procedure TForm1.Button1Click(Sender: TObject);
begin
DateTimePicker1.Date:= Date;
memo1.Lines.Add(FloatToStr(Date) + ' vs ' + FloatToStr(DateTimePicker1.Date));
end;
今天,2015 年 3 月 18 日,我按下按钮后得到的结果是:
42081 vs 42081.846316956
如果我在 5 分钟后再次按下,我会得到相同的结果。 为什么值不一样?
最佳答案
Date()
函数截断返回值的小数部分(将时间部分设置为 0)。因此它返回当前日期/时间,仅填写日期。
TDateTimePicker.Date
属性 setter 仅更新内部存储的 TDateTime
的日期部分,保持现有时间不变。 TDateTimePicker.Date 属性 getter 返回整个内部存储的日期/时间,而不是人们所期望的日期本身。因此,您将看到由 TDateTimePicker
初始化的更新日期 + 原始时间。
关于delphi - TDateTimePicker 和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129982/