マスター 今晩は
DateUtilsのHourBetWeenでしたっけ、AとBの時間差?を求める関数
var
STime,ETime :TTime;
intA,intB :Word;
begin
STime := StrToTime('8:00'); //半端な分数はシステム上無い
ETime := StrToTime('21:00');
intA := HourBetween(STime,ETime) + 1;
//intA当然"14"
STime := StrToTime('8:00');
ETime := StrToTime('22:00');
intA := HourBetween(STime,ETime) + 1;
//intBは当然・・・!? あれ"14"
どうも、計算結果が変ですね。
これって、時間が実数管理!?の関係なのでしょうか?
結局、取り敢えず時間差が問題だったので
var
STime,ETime :TTime;
SH,LH :Word;
intA,intB :Word;
begin
STime := StrToTime('8:00');
ETime := StrToTime('21:00');
SH := HourOf(STime);
SL := HourOf(LTime);
intA := (SL - SH) + 1;
で、切り抜けました。
|