delphi - TDateTimePicker 和日期

标签 delphi datetimepicker

这是一个来自 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/

相关文章:

delphi - 是否可以创建通用的约束方法?

css - 如何从 Material-UI 自定义 DateTimePicker

jQuery Bootstrap Timepicker 开始和结束时间

javascript - 为什么刷新浏览器后需要在文本字段上单击两次才能调用 JavaScript 中的函数?

asp.net - 使用 Delphi 和 TIdHttp 将数据发布到 ASP .NET 页面

delphi - 如何在 RichEdit 中将单行加粗?

delphi - 每次我尝试使用存储过程与数据库进行通信时,我都会收到此消息 "Cannot perform this operation on a closed dataset"

delphi - 如何在 "please, wait form"上制作 GIF 动画?

javascript - 如果所选日期是数组数组中的最后一个日期,则返回 false

excel - 将自定义文本添加到 excel "date time picker"控件