2011-02-02 8 views
2

文字列は次のような形式です。 20110201と私はそれをデルファイの日付に変換してから今日から差し引いて、日数の差を求めます。文字列を日付に変換し、日数に差をつける

どうすればいいですか? 私の英語を残念に思っています。

+2

質問の回答が見つかった場合は、回答の左側にあるチェックマークをクリックして受け入れることができます。 – Bharat

答えて

10

あなたが必要とする機能は、現在の日付を取得するためにCopy(あなたの入力文字列の一部を取得する)、StrToInt(整数に文字列の部分を変換する)、DateUtils.EncodeDate(整数からTDateを作成する)、Now(ありますTDate)とDateUtils.DaysBetween(2つの日付の差を日数で取得)。

私はこれらの機能のためにDelphiヘルプを使用して残りの部分を自分で把握できると思います。

+0

しかしDaysBetweenの結果を整数に変換するには?私はその量を表示するためにfloattostrを使用していますが、私は常に '3,26677404491323E268'を取得しています... – djcis

+1

Round()関数を使用してください。 – Bharat

+2

'DaysBeween' _does_は整数を返します。 –

5

コピーを使用して、年、月、日の3つの部分文字列を抽出します。次にそれらを整数に変換するためのStrToInt、次にEncodeDateを実行して3つの整数をTDateTimeに変換します。

TDateTimeは、小数点の前の全日数とその日の小数点以下の小数点以下を表す浮動小数点数です。

SysUtilsには、現在の日付を返すDate:TDateTimeという関数があります。

文字列から解析したTDateTimeをDateから返された値から差し引いて、それらの間の日数の差を求めることができます。

関連する問題