检查两个日期是否属于两个不同日期的时间表

时间:2017-05-18 09:11:13

标签: php

我每天都有一个时间表:

8点30分至下午5:30

现在我有停机时间:

2017-03-01 10:00 AM至2017-03-02 1:00 PM

我想计算这两个日期之间的总停机时间,这些日期属于上面提供的时间表

1 个答案:

答案 0 :(得分:1)

将此问题分解为单独的部分将使其易于解决。您可以总结第一天,最后一天和中间所有日子的停机时间。

a =计算第一天的停机时间是min(0,[schedule end time] - [max(停机时间,计划开始时间)]。)

b =最后一天是分钟(0,[分钟(停工结束时间,日程结束时间) - [日程安排开始时间])。

c =之间的所有日期都是:([停工结束日] - [停工开始日] -1)*([1天内的时间表])

a + b + c =计划中的停机时间