2012-09-06 67 views
0

我无法从C++ builder ide中的TDateTimePicker获取日期时间。 我正在格式化它显示日期和时间,但它只显示日期,因为我认为它的Kind属性设置为dtkDate。 是否可以从此组件获取日期和时间?从TDateTimePicker获取日期时间

ShowMessage(deARV->DateTime.FormatString("dd.MM.yyyy HH:mm")); 

回答

1

一个TDateTimePickerKind属性设置为dtkDate没有与之相关联的时间。如果您同时需要日期和时间,则必须使用两个单独的控件TDateTimePicker,其中一个设置为dtkDate,另一个设置为dtkTime。你可以在需要的时候他们两个值,然后结合起来,如:

TDateTime dtDateTime = deARVDate->Date + deARVTime->Time; 
ShowMessage(dtDateTime.FormatString("dd.MM.yyyy HH:mm")); 

我已经看到,有时这可以在TDateTime值的未使用的部分导致垃圾值,所以我更喜欢使用这样的:

TDateTime dtDateTime; 
ReplaceDate(dtDateTime, deARVDate->Date); 
ReplaceTime(dtDateTime, deARVTime->Time); 
ShowMessage(dtDateTime.FormatString("dd.MM.yyyy HH:mm")); 

或者这样:

TDateTime dtDateTime = DateOf(deARVDate->Date) + TimeOf(deARVTime->Time); 
ShowMessage(dtDateTime.FormatString("dd.MM.yyyy HH:mm")); 
+0

好的,谢谢雷米。后来,我发现tms已经得到了'TAdvDateTimePicker' comp,它有'dkDateTime' Kind属性,可以使用'deARV-> DateTime.FormatString(“dd.MM.yyyy HH:mm”)同时提取日期和时间。可以采取日期时间值。我认为至少有两种解决方案可用于解决一个问题。 –