当我试图计算一个夜班时,我得到一个负面的时间。

时间:2016-08-04 18:12:39

标签: ms-access time calculated-columns

我需要时间去做一些其他的计算,如果他们工作了一夜,时间都会变回负面。这是我用来计算工作时间的公式。 (([EndTime]-[StartTime])*24*60)只要他们在同一天完成班次,计算工作正常,但如果他们工作时间为早上6点到下午6点,我的总换班时间为-720。顺便提一下,我所有的计算都在几分钟之内。有谁知道如何正确显示负面时间?谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用以下表达式:

Minutes = (1 + EndTime - StartTime) * 24 * 60 Mod 24 * 60

对于您的示例,值为:

Minutes = (1 + #6:00# - #18:00#) * 24 * 60 Mod 24 * 60

这是一个老技巧,基于 Date 数据类型具有"未记录的窗口"之间但不包括数值0和-1。

因此,限制是它只能在24小时内工作。

答案 1 :(得分:0)

您可以使用以下公式:

Datediff("n", StartTime, EndTime)

"n"表示您希望这些日期之间的时间差异为分钟。

如果你在此之后仍然得到负数,那么我怀疑你没有将日期和时间存储在一起(你应该)。