我有一個用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