减去Webi中的时间(我可以同时显示小时和分钟)

2020-08-14 02:23发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我希望能够在Webi报告中减去两个时间戳,但是我希望能够以HH:MM格式显示最终结果

当前,我正在使用以下内容:

=(((ToNumber(Substr(FormatDate([DATE1];" HH:mm:ss"]; 1; 2))* 60 * 60)+(ToNumber(Substr(FormatDate([DATE1];" HH :mm:ss"); 4; 2))* 60)+(ToNumber(Substr(FormatDate([DATE1];" HH:mm:ss"); 7; 2))))-((ToTo(( FormatDate([DATE2];" HH:mm:ss"); 1; 2))* 60 * 60)+(ToNumber(Substr(FormatDate([DATE2];" HH:mm:ss"); 4; 2) )* 60)+(ToNumber(Substr(FormatDate([DATE2];" HH:mm:ss"); 7; 2)))))/60/60 *-(1)

最初,我除以60(这将最终方程式转换为分钟数); 然后要求我显示小时数(所以我又除以60)...但是现在我只得到小时数...当我更改编号格式时,我只能转换为小数。 ..这也是我不想做的事...我想完成的事是可能的吗? 我不确定...哦,反向符号是因为我得到了一些负数,而事实并非如此,所以我也在设法弄清楚这一点。

谢谢!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我希望能够在Webi报告中减去两个时间戳,但是我希望能够以HH:MM格式显示最终结果

当前,我正在使用以下内容:

=(((ToNumber(Substr(FormatDate([DATE1];" HH:mm:ss"]; 1; 2))* 60 * 60)+(ToNumber(Substr(FormatDate([DATE1];" HH :mm:ss"); 4; 2))* 60)+(ToNumber(Substr(FormatDate([DATE1];" HH:mm:ss"); 7; 2))))-((ToTo(( FormatDate([DATE2];" HH:mm:ss"); 1; 2))* 60 * 60)+(ToNumber(Substr(FormatDate([DATE2];" HH:mm:ss"); 4; 2) )* 60)+(ToNumber(Substr(FormatDate([DATE2];" HH:mm:ss"); 7; 2)))))/60/60 *-(1)

最初,我除以60(这将最终方程式转换为分钟数); 然后要求我显示小时数(所以我又除以60)...但是现在我只得到小时数...当我更改编号格式时,我只能转换为小数。 ..这也是我不想做的事...我想完成的事是可能的吗? 我不确定...哦,反向符号是因为我得到了一些负数,而事实并非如此,所以我也在设法弄清楚这一点。

谢谢!

付费偷看设置
发送
5条回答
南山jay
1楼 · 2020-08-14 03:17.采纳回答

您得到的结果是负数,因为您要从日期1减去。您需要从日期2减去。

秒数=(((ToNumber(Substr(FormatDate([DATE2];" HH: mm:ss"); 1; 2))* 60 * 60)+(ToNumber(Substr(FormatDate([DATE2];" HH:mm:ss"); 4; 2))* 60)+(ToNumber(Substr (FormatDate([DATE2];" HH:mm:ss"); 7; 2))))-((ToNumber(Substr(FormatDate([DATE1];" HH:mm:ss"); 1; 2)) * 60 * 60)+(ToNumber(Substr(FormatDate([DATE1;" HH:mm:ss"]; 4; 2))* 60)+(ToNumber(Substr(FormatDate([DATE1];" HH:mm: ss"); 7; 2)))))))/60/60

之后,使用此命令可以转换HH:mm:ss

= FormatNumber(Floor([number 的秒数]/3600);" 0")+":" + FormatNumber(Floor(Mod([秒数]; 3600)/60);" 00")+":" + FormatNumber(Mod(Mod([ [秒数]; 3600); 60);" 00")

nice_wp
2楼-- · 2020-08-14 03:26

谢谢:-)在给您留言后,我已经弄清楚了。

Violet凡
3楼-- · 2020-08-14 03:25

谢谢库玛!!! 那行得通--如果日期越过几天,我仍然会得到一些负数,因为那是因为...

一个例子:

您对此有何看法?

天桥码农
4楼-- · 2020-08-14 03:00

好吧..我明白了!!! 只需将秒数调整为仅小时(1440)而不是白天(86400)

xfwsx85
5楼-- · 2020-08-14 03:16

您好,我有一些在某些情况下可以使用的简单方法:

V_Status8610Minus1Hour

= RelativeDate([Status8610/Loc.Status Date/Time];-0.041666666)

其中(1/24 = 0.041666666)1小时内的负数减少:


祝你好运

一周热门 更多>