服装网站建设与实现,公司文化墙设计模板,鞍山网站建设,建设旅游信息网站的好处遇到TDate与TTime合并为TDateTime的问题#xff0c;想想应该很容易#xff0c;没想到发现一个百思不得其解的问题#xff0c;在这里跟大家分享并求教。比如有两个组件DateTimePicker1和DateTimePicker2#xff0c;Kind属性分别为dtkDate和dtkTime#xff0c;一个用来定义T…遇到TDate与TTime合并为TDateTime的问题想想应该很容易没想到发现一个百思不得其解的问题在这里跟大家分享并求教。比如有两个组件DateTimePicker1和DateTimePicker2Kind属性分别为dtkDate和dtkTime一个用来定义TDate值一个用来定义TTime值现在要将TDate与TTime合并为TDateTime我首先想到的方法是以下语句NewDateTime: TDateTime;...NewDateTime : Int(DateTimePicker1.Date) Frac(DateTimePicker2.Time);应该一句话解决问题的但偏偏就出了问题最终对NewDateTime的处理结果不对可是调试将鼠标停在上述语句的NewDateTime上明明结果正是DateTimePicker1.Date与DateTimePicker2.Time的字符串之和很是奇怪。于是我有采用了另一种迂回方法达到目的即以下语句NewDateTime: TDateTime;NewDateTimeStr: string;...NewDateTimeStr : DateToStr(DateTimePicker1.Date) TimeToStr(DateTimePicker2.Time);NewDateTime : StrToDateTime(NewDateTimeStr);这次调试将鼠标停在上述语句的NewDateTime上结果跟第一次的结果一样都是DateTimePicker1.Date与DateTimePicker2.Time的字符串之和但最终结果表明这次的NewDateTime正确。我对上述问题百思不得其解虽最终用第2种方法达到了目的但不明所以在这里本人虚心请教还望知道怎么回事的朋友告知。本人使用的是XE2 With Update 4 Hotfix 1。以下代码证明了上述两种方法得到的不一样TDateTime的结果放入两个组件DateTimePicker1和DateTimePicker2Kind属性分别为dtkDate和dtkTime放入一个按钮按钮的OnClick代码为procedure TForm1.Button1Click(Sender: TObject);varNewDateTimeStr: string;NewDateTime1, NewDateTime2: TDateTime;begin//这样就错误NewDateTime1 : Int(DateTimePicker1.Date) Frac(DateTimePicker2.Time);//这样就正确NewDateTimeStr : DateToStr(DateTimePicker1.Date) TimeToStr(DateTimePicker2.Time);NewDateTime2 : StrToDateTime(NewDateTimeStr);if NewDateTime1 NewDateTime2 thenShowMessage(相等)elseShowMessage(不相等)end;结果当然是不相等。~谢谢打赏~赏