PHP时间范围,总小时数,晚上小时数,夜晚时数,周末时间和假期

时间:2012-05-16 06:51:40

标签: php date strtotime

我目前正在开发一个应用程序,我需要在现有的发票系统中添加一个新功能。

员工放弃工作时间,如下所示:

Start: 18:30 01-01-2012
End: 00:30 02-01-2012

现在,当某人根据所选日期范围创建发票时,系统会生成总工时x每小时价格。这很好,不是问题。

现在,如果工作时间是在晚上,晚上,周末(周六/周日)和节假日,系统需要能够按小时费率收取额外费用。

有人知道如何实现这个目标吗?

要度过周末并不困难,但是当我到了周末时,我还需要知道在这些周末工作了多少小时..它有点多维......

我的想法是首先循环遍历时间范围,首先循环每天的日期,然后循环每天的小时,然后在每个循环中进行某种检查以检查是否是夜晚,傍晚......周末时间..假期......

我很想听到任何想法,因为我有点卡住..

1 个答案:

答案 0 :(得分:0)

我已经找到了做我想要的解决方案。所以我想分享给那些必须做同样事情的人。

我在开始日期时间和结束日期时间之间创建了一个循环,间隔为15分钟,因为员工总是在确切的小时开始或结束,或者:15:30,:45。

每15分钟一次,我检查日期是否属于假日,晚上,晚上或周末(周六+周日)。

我已将假期日期添加到数组中,与傍晚时分和夜间时间相同。

在每个IF声明中,我都会制作一个计数器来跟踪每种类型,假日,晚上,夜晚或周末的15分钟。

所以最后你得到每种类型的小时或假日或周末的总分钟数,除以60就可以得出每种类型的小时,假日或周末的总工作小时数。并且根据我的计算,如果在那些时间工作,我将计算额外的费用。

我可能不是最好的方法,但它对我有用。