我有一个用PHP编写的界面,用于记录员工工作时间。为了计算换档差异,我想添加一个新算法来测量在特定小时之间工作的时间量。我使用MySQL的unix_time()
作为时间戳。计算两次之间的部分时间
示例:员工从下午6点工作到凌晨2点。在晚上10点到上午6点之间有一个有偿转换差。员工收到4小时的正常工资,4小时的工资+差额。
$start_time = 1459015200; // 18:00 03/26/2016
$end_time = 1459044000; // 02:00 03/27/2016
$diff_start = mktime('22','00','00','3','26','2016');
$diff_end = mktime('06','00','00','3','27','2016');
我想写给大集的时间可能工作,一个脚本,计算时间晚上10点至下午6点之间工作的量。这个答案完成似乎做我在找什么,除了在MySQL:Calculating time difference before 6am and after 10pm in MySQL
这个答案是类似于我的问题:Calculate the number of hours in a given timeframe between two datetimes,但依赖于一个循环。鉴于时间以秒为单位输入,基于unix_time
,我假设使用一个循环将需要一秒增量(这意味着每周有数千条记录通过循环进行很多次循环)。
有没有一种有效的方法(如MySQL示例)在PHP中执行此操作,而不需要像第二个答案中建议的那样循环每增加一秒/每分钟/小时?
22-18 + 6-2?差速器开始减档开始,再加上差速器结束减去换档结束?也许我没有跟着。 – bishop
dst切换期间转换!决定命运的时间。 – Jack
你不是在开玩笑。也许有一天我会花时间转换成不同的格式。 – thebarless