将字符串转换为日期并获得天数差异

问题描述:

我有以下格式的字符串,例如20110201我想将它转换为delphi中的日期,然后从今天减去它以获得天数差异。将字符串转换为日期并获得天数差异

我该怎么做? 对不起,我的英语。

+2

如果您发现问题的答案,您可以通过点击答案左侧的刻度线来接受。 – Bharat 2011-02-02 12:23:05

你需要的功能是Copy(检索您的输入字符串的一部分),StrToInt(字符串部分整数转换),DateUtils.EncodeDate(创建一个从整数a TDate),Now(获取当前日期TDate)和DateUtils.DaysBetween(以日期计算两个日期之间的差异)。

我想你可以用Delphi的帮助来自己弄清楚这些功能。

+0

但如何将DaysBetween结果转换为整数?我使用的是floattostr来显示这个数量,但我总是得到'3,26677404491323E268'... – djcis 2011-02-02 12:08:59

使用副本提取年份,月份,日期的3个子字符串。然后StrToInt将它们转换为整数,然后EncodeDate将3个整数转换为TDateTime。

TDateTime是一个浮点数,计算小数点前的整个天数和当天的小数点后的小数点。

在SysUtils中有一个名为Date:TDateTime的函数,它返回当前日期。

您可以简单地减去从Date返回的值中解析出的字符串的TDateTime,以获取它们之间的天数差异。