はじめまして。
Delphi7を使って時間計算をしているのですが、
皆さんのお力を貸して下さい。
フォームにテキストボックス3つ、ボタン1つがあります。
Edit1に作業開始時間、Edit2に作業終了時間を入力し、
ボタンをクリックするとEdit3に作業時間を入力したいと思っています。
作業開始時間に「10:00」、作業終了時間に「12:30」と入力した時、
普通に「作業時間=作業終了時間−作業開始時間」とすると
Edit3にセットされる値は「2:30」という時間数になってしまいます。
しかし、作業時間には時間単位で「2.5」というようにセットしたいと思っています。
同様に「10:00」〜「12:45」であれば「2.75」というようにセットしたいのです。
何か簡単に出来る方法はありませんか?
ヘルプを見て「MinuteSpan関数」や「MinuteBetween関数」など使えるかな?と
思ったのですが、使い方がわからず行き詰っています・・・。
この関数についても使い方を教えていただけたらと思います。
よろしくお願いします。
一般的には分単位で計算して、時間に直します。
この「10:00」などは、位置とTTime型に直せば
「MinuteSpan関数」や「MinuteBetween関数」などが
使えて簡単になります。
24時を超える場合もあるので注意しましょう。
まず求めた「2:30」を分数に直します。->150分
60分:1.00=150分:X
150/60 = Xということになります
よって求めたいXの式は=A/60となります
Aは経過時間を分数に直したものです
uses
DateUtils;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit3.Text := Format('%.2f',[MinuteSpan(StrToDateTime('12:45'),StrToDateTime('10:00'))/60]);
end;
早いレスありがとうございます!
りおりおさんの方法で無事に計算することが出来ました!
皆さん、ありがとうございました。
ツイート | ![]() |