如何从 Delphi 中的 datetimepicker 组件中提取时间?

How do I extract just the time from a datetimepicker component in Delphi?

我有一个 Delphi 形式的日期时间选择器组件,我只想获取时间。当我在调试模式下查看日期时,我看到 42544.621701,我只想得到没有日期值的 0.621701

您可以使用Frac()函数:

var
  Time: TTime;
...
  Time := Frac(DateTimePicker1.DateTime);

或者,您可以使用 System.DateUtils.TimeOf() 函数,它只是 Frac() 的内联包装器,具有更具描述性的名称:

uses
  ..., DateUtils;

var
  Time: TTime;
...
  Time := TimeOf(DateTimePicker1.DateTime);

问题实际上与日期时间选择器无关。控件returns 你一个日期时间值。您正在寻找一种仅提取时间部分的方法。使用 System.DateUtils 单元中的 TimeOf 函数执行此操作。

 MyTime := TimeOf(MyDateTime);

EditHoo.Text:=timetostr(DateTimePicker2.Time);