如何在 Crystal 报表中以十进制格式显示时间

How to display time in decimal format in Crystal Report

现在,我已经成功地以 "HH:mm" 格式显示时间,但我需要将其更改为小数。例如,小时数为 2.30,表示 2 小时 30 分钟,但我需要它为 2.5,表示 2.5 小时。请帮忙。下面是我的代码:

Local NumberVar HoursDiff;
Local NumberVar MinutesDiff;
Local NumberVar SecondsDiff;
Local StringVar strOut;

SecondsDiff := DateDiff('s',{Invoicing.TimeFrom},{Invoicing.TimeTo});
HoursDiff:= SecondsDiff  \ (60 * 60);
SecondsDiff  := SecondsDiff  MOD (60 * 60);
MinutesDiff:= SecondsDiff \ 60;

strOut := strOut & CStr(HoursDiff,0)& '.' & CStr(MinutesDiff,'00'); 
strOut

使用 "time(strout)" 将此返回的字符串值转换为时间格式,然后右键单击公式字段然后选择 select 格式字段选项,它将在此 select 中打开一个格式编辑器 "date and time" 选项卡。然后单击 "customize" 选项卡,它将打开一个自定义样式 window。

自定义样式 window select 时间来自 "Datetime" 选项卡中的订单字段。然后单击时间选项卡和 select 您想要的格式。

试试下面的公式,我认为它对你有用

timeVar time_value := CTime("2:30");//Time in HH:mm format
stringVar timeString := ToText(time_value);
numberVar time_in_min := ToNumber(Split(timeString,":")[1])*60 +   ToNumber(Split(timeString,":")[2]) ;
time_in_min/60;