【发布时间】:2015-12-21 13:44:58
【问题描述】:
我做了一些搜索,有很多关于使用strtotime('09:00:00) 计算两次之间的时间差然后将其与另一个值相比较的信息。
目前,我有一个数据库,用于存储员工的固定时间,如下所示:
+----------+-----------+------------+-------------+--------------+
| staff_id | day | start_time | finish_time | total_breaks |
+----------+-----------+------------+-------------+--------------+
| 1 | Monday | 18:00:00 | 22:00:00 | 0 |
| 2 | Wednesday | 09:00:00 | 17:30:00 | 30 |
+----------+-----------+------------+-------------+--------------+
start_time 和 finish_time 在 MySQL 中存储为 TIME 值,total_breaks 作为 INT 存储,我可能也应该将其转换为 TIME 值并表示为 00:30:00 或 00:00:00为了一致性。
我想要做的是显示一个表格,其中显示所有这些信息,以及他们的总工作小时数,然后是总小时数减去任何休息时间。
我已经能够生成一个包含staff_id、day、start_time 和finish_time 的表格,但我正在努力找出计算总工作时间等的最佳方法。
我正在使用 Laravel,并且读到 strtotime('00:00:00') 是一种很好的方法,但这不起作用,因为我没有使用字符串,而是从数据库中提取时间。
计算两次时间差的最佳方法是什么,然后还要考虑休息时间。
我是否设置正确?我不想将时间设置为 DATETIME,因为我只想计算他们每周正常工作时间的时差 - 尽管我总是可以在必要时使用虚拟日期来完成这项工作.
有什么想法吗?
【问题讨论】:
-
你怎么知道每次休息多长时间?
-
根据他们的工作时间,我知道他们分配了多少休息时间。我不需要知道他们花费的确切时间,只需要根据他们的开始和结束时间知道他们应该花费的时间。
标签: php mysql datetime laravel laravel-5.1