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で得たいのですが?
よろしくお願いします。
> StrToDateTimeとするとエラーになります?
エラーになりますか?という質問?
エラーになるかどうかって実行したらわかるよね。
ブレークポイントつくって、一行一行実行して
[どの行で]で[どんなエラーが出るか]確認し直しましょうね。
結果は14:00:00じゃないかい?
普通に引き算してみればいいと思いますよ。
何が問題なのかが分からないので何ですが。
提示のソース(3行目がなんか変ですが。。。)だと
StrToTimeで変換していて年月日を持っていないので
単純に引き算するとえらい事になります。
(エラーにはなりませんが)
結果 = 1899/12/30 23:10:15 - 2008/05/28 09:10:15
そういうことじゃないのかなぁ。
たぶんやりたいことはこういうことだろうと推測して・・・
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;
ツイート | ![]() |