残り時間の計算


ss  2008-05-28 10:08:34  No: 30811  IP: 192.*.*.*

Delphiの初心者です。
質問ですが、TDATETIME同士の引き算をして残り時間のみをTDateTime
で出したいのですが、FormatDateTimeで、文字列にした後、再度、
StrToDateTimeとするとエラーになります?

  ftmpTime,nTime : TDateTime;
 ftmpTime := StrToTime('11:10:15 PM');
 nTime (TDateTime  2008/5/28  9:10:15 )
ftmpTime - nTime 結果を15:00:00で得たいのですが?
よろしくお願いします。

編集 削除
ぽみぽみ  2008-05-28 11:30:07  No: 30812  IP: 192.*.*.*

> StrToDateTimeとするとエラーになります?
エラーになりますか?という質問?
エラーになるかどうかって実行したらわかるよね。

ブレークポイントつくって、一行一行実行して
[どの行で]で[どんなエラーが出るか]確認し直しましょうね。

編集 削除
みんみん  2008-05-28 22:14:36  No: 30813  IP: 192.*.*.*

結果は14:00:00じゃないかい?

普通に引き算してみればいいと思いますよ。

編集 削除
めじな  2008-05-29 16:01:31  No: 30814  IP: 192.*.*.*

何が問題なのかが分からないので何ですが。

提示のソース(3行目がなんか変ですが。。。)だと
StrToTimeで変換していて年月日を持っていないので
単純に引き算するとえらい事になります。
(エラーにはなりませんが)

結果 = 1899/12/30 23:10:15 - 2008/05/28 09:10:15

そういうことじゃないのかなぁ。

編集 削除
みんみん  2008-06-01 00:25:26  No: 30815  IP: 192.*.*.*

たぶんやりたいことはこういうことだろうと推測して・・・

var
  ftmpTime, nTime: TDateTime;
begin
  ftmpTime := StrToTime('11:10:15 PM');
  nTime    := StrToTime('9:10:15 AM');

  ShowMessage(TimetoStr(ftmpTime - nTime)); //結果は14:00:00
end;

編集 削除