VB掲示板からきました、たかみちえといいます。
えと、うえのとおりなんですけど、VBで言うDateDiffのような、
日付と日付のあいだを計算する関数はないんでしょうか?
(2002/5/14のはいったTDateTimeと2002/5/2のはいったTDateTimeを計算すると、12と出てくるような…)
もしないのなら、計算方法をおしえてくださると、たすかります。
とりあえずヘルプのあやしい部分は読んだつもりなんですけど、見つからなかったので…。
見落としただけかもしれませんけど…。
Winodows98+Delphi6Personalです。
Delphi6のTDateTimeが、Delphi5と変わっていたら次の説明は違います。ご了承ください。
TDateTime型の実体はdouble型です。
整数部分がTDateを、小数部分がTTimeを現しています。
TDateTimeの値が、0.5なら、それは12:00:00を表します。
日数が知りたい場合は、単純な引き算で出来ます。
d1 := EncodeDate(2002, 5, 14);
d2 := EncodeDate(2002, 5, 2);
Edit1.Text := Format('%f', [d1 - d2]);
とすれば、Edit1には12と表示されるはずです。
同じようなお答えになってしまいますが、こんなのもどうでしょうか?
dtA := StrToDateTime('2002/5/14');
dtB := StrToDateTime('2002/5/2');
Label1.Caption := FloatToStr(dtA - dtB);
というように、型変換関数のみで解答が出せます。
なるほど、TDateTimeはそんな仕組みだったんですかぁ、
ありがとうございました。解決ですっ
ツイート | ![]() |