2017-03-27 159 views
2

這裏是我有方法我注意到start_time在暫停/回顧/做任務start_timeend_time這樣,在開始的表中的情景我注意到end_time這裏是我的如何計算兩個時間戳的計劃工作時差?

ID | task_id  | start_time  |  end_time 
----------------------------------------------------------------- 
1    1   2017-03-02 06:27:28 2017-03-12 10:43:37 
2    5   2017-03-02 07:16:05   NULL//in progress no end time 

例如有移位小時從到和工作日在一週中,我想計算在工作日轉移時間的確切時間。我已經搜索了很多找到答案,請幫助我一個適當的計算方法。

注:其中end_timeNULL有我使用date()意味着當前日期

+0

你知道服務器的時間是固定的,基於GMT?無論客戶端如何,服務器時間都不會改變。您的問題是關於如何正確顯示用戶的時間? – Sablefoste

+0

這就像監測基於服務器時間假設我設置工作小時爲服務器時間到我的時間轉換然後,我想計算在工作班期間工作日內已過去的分鐘數 –

+0

也許你應該告訴我們你想要的結果是。從你說的這個很簡單。有大量的MySQL函數可以在日期/時間列上進行「數學運算」。 – user3741598

回答

1

PHP code demo

<?php 

$datetime1 = new DateTime('2017-03-02 06:27:28'); 
if($datetime1->format("D")!="Sun" && $datetime1->format("D")!="Sat") 
{ 
    $datetime2 = new DateTime('2017-03-12 10:43:37'); 
    $interval = $datetime1->diff($datetime2); 
    echo $interval->format('%H:%I:%s'); 
} 
+0

我喜歡它..... .........你很聰明親愛的,$ interval-> format('%d%H:%I:%s');將更有幫助,請編輯和更新代碼 –

+0

你的回答很有幫助 –

+0

@MudassarZahid歡迎夥計.... :)更新我的文章週末 –