残り時間の計算


ss  2008-05-28 19:08:34  No: 30811

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 20:30:07  No: 30812

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

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


みんみん  2008-05-29 07:14:36  No: 30813

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

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


めじな  2008-05-30 01:01:31  No: 30814

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

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

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

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


みんみん  2008-06-01 09:25:26  No: 30815

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

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;


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加