2011-02-02 77 views
2

我有以下格式的字符串,例如20110201我想將它轉換爲delphi中的日期,然後從今天減去它以獲得天數差異。將字符串轉換爲日期並獲得天數差異

我該怎麼做? 對不起,我的英語。

+2

如果您發現問題的答案,您可以通過點擊答案左側的刻度線來接受。 – Bharat 2011-02-02 12:23:05

回答

10

你需要的功能是Copy(檢索您的輸入字符串的一部分),StrToInt(字符串部分整數轉換),DateUtils.EncodeDate(創建一個從整數a TDate),Now(獲取當前日期TDate)和DateUtils.DaysBetween(以日期計算兩個日期之間的差異)。

我想你可以用Delphi的幫助來自己弄清楚這些功能。

+0

但如何將DaysBetween結果轉換爲整數?我使用的是floattostr來顯示這個數量,但我總是得到'3,26677404491323E268'... – djcis 2011-02-02 12:08:59

5

使用副本提取年份,月份,日期的3個子字符串。然後StrToInt將它們轉換爲整數,然後EncodeDate將3個整數轉換爲TDateTime。

TDateTime是一個浮點數,計算小數點前的整個天數和當天的小數點後的小數點。

在SysUtils中有一個名爲Date:TDateTime的函數,它返回當前日期。

您可以簡單地減去從Date返回的值中解析出的字符串的TDateTime,以獲取它們之間的天數差異。