Delphi 将字符串转换为日期,并以天为单位获取差异
我有以下格式的字符串,例如Delphi 将字符串转换为日期,并以天为单位获取差异,delphi,Delphi,我有以下格式的字符串,例如20110201,我想将其转换为delphi中的日期,然后从今天减去它以获得天数差 我该怎么做? 对不起,我的英语不好。您需要的函数是Copy(检索部分输入字符串)、strotint(将字符串部分转换为整数)、DateUtils.EncodeDate(从整数创建TDate)现在(检索当前日期为TDate)和DateUtils.DaysBetween(以天为单位获取两个日期之间的差值) 我认为您可以使用Delphi帮助自己计算出这些函数的其余部分。使用Copy提取年、月、
20110201
,我想将其转换为delphi中的日期,然后从今天减去它以获得天数差
我该怎么做?
对不起,我的英语不好。您需要的函数是
Copy
(检索部分输入字符串)、strotint
(将字符串部分转换为整数)、DateUtils.EncodeDate
(从整数创建TDate
)现在(检索当前日期为TDate
)和DateUtils.DaysBetween
(以天为单位获取两个日期之间的差值)
我认为您可以使用Delphi帮助自己计算出这些函数的其余部分。使用Copy提取年、月、日的3个子字符串。然后stroint将它们转换为整数,然后EncodeDate将3个整数转换为TDateTime
TDateTime是一个浮点数,计算小数点前的整天,并将当天的时间作为小数点后的分数
在SysUtils中有一个名为Date:TDateTime的函数,它返回当前日期
您只需从Date返回的值中减去从字符串中解析出来的TDateTime,即可得到它们之间的天数差。但是如何将结果之间的天数转换为整数?我使用floattostr来显示该金额,但我总是得到“32667740491323E268”…DaysBeween
确实返回一个整数。如果使用“Date”而不是“Now”,则应该没有分数,也不需要在两者之间调用DaysBeween,只需将这两个值相减。使用Trunc()而不是舍入。它只是将整数部分(不含小数)作为Int64返回。那你就不需要两天的时间了;简单的整数数学将给出天数。如果您找到问题的答案,您可以单击答案左侧的勾号接受。