0

我正在计算两个字段之间的小时总和:TimeIn并且TimeOut,结果将显示在我的计算显示字段上hoursWorked。问题是,当我15:00在第一个字段和01:00第二个字段上输入时,它不显示任何内容。我尝试将 a@If执行两个计算,如果TimeOut小于TimeIn它将使用第一个操作,但仍然没有。这是我的代码:

thours:=@If(@IsNull(TimeIn) | @IsNull(TimeOut)=""; @Return(""); "" );
seconds := @If(TimeOut < Timein;(24 + TimeIn) - TimeOut; TimeIn - TimeOut);
hours := @Integer(seconds/3600);
minutes := @Integer(@Modulo(seconds;3600)/60);
output := @Right("00" + @Text(hours); 2) + ":" + @Right("00" + @Text(minutes); 2);
@TextToTime(output)
4

1 回答 1

2

以这种方式计算秒数:

seconds := TimeOut - TimeIn;
seconds := @If(seconds < 0; seconds + 24*3600; seconds);

只要TimeOut较小TimeIn,则假定时间范围从一天到第二天。

例子:

TimeIn   TimeOut   hoursWorked
15:00    01:00     10:00
15:00    14:45     23:45
15:00    17:00     02:00
于 2013-06-25T05:04:44.567 回答