2016-09-15 145 views
0

我在獲取時間戳差異時遇到問題。時間戳差異,當前時間減時間戳

我有一個表與時間戳(類型是日期時間)。 我想要我的查詢輸出當前時間 - 時間戳的差異。

我試過使用timediff()類的各種查詢。但由於一些奇怪的原因,我得到的差異是在未來8小時左右。

我的表設置如下

Table A 
*--------------------------------* 
| PK | Item | TimeStamp   | 
| 1 | Apple| 2016-09-15 03:21:59| 
*--------------------------------* 

我想這樣的差異輸出:

Output Table 
*--------------------------------* 
| Item |  TimeStamp   | 
| Apple| 0Days 18Hrs 45Min | 
*--------------------------------* 

我引用一些其他的問題,但似乎沒有爲工作我。

像這些:

Converting epoch number to human readable date in mysql

Is timestampdiff() in MySQL equivalent to datediff() in SQL Server?

我試圖用一個函數目前得到這樣的結果,並設置了兩次作爲變量。

+0

「我試過各種查詢」。至少顯示其中一個。沒有看到它,我們無法分辨你做錯了什麼。 – Barmar

回答

0

我能得到我想要通過設置變量的結果:

date_default_timezone_set ("America/Chicago"); 
$timenow = new DateTime(date("Y-m-d H:i:s"), new DateTimeZone("America/Chicago")); 
while($row = mysqli_fetch_assoc($ticket)) { 
    $tickettime   = new DateTime($row['ticketopen'], new DateTimeZone("America/Chicago")); 
    $sincestart   = $tickettime->diff($timenow); 
    $hours    = (int)$sincestart->h; 
    $ticket_time  = strval($hours-12)." Hrs ".$sincestart->i." Min "; 

不知道這是否是做到這一點的最好辦法,但它給了我我想要的結果。希望這可以幫助別人。

此外,我不得不減去12小時,以獲得正確的小時差。