2011-06-28 472 views
2

我想這個問題是怎麼樣的2個問題:如何獲得mysql時間戳和php當前時間之間的差異?

  1. 我如何甚至可以在PHP和形式的當前時間,很容易比較和
  2. 一旦我有,我有一個MySQL時間戳在這種格式,2011-06-30 04:33:00,我需要比較php當前時間。

太感謝你這麼多提前, Binny

+0

您是否需要在您的MySQL查詢中有所不同或者在查詢運行後您的PHP處理中需要這些區別? –

+0

php處理後查詢運行 – bzupnick

回答

2

strtotime($query_result['timestamp'])

這將將您的MySQL時間戳值轉換爲自1970年1月1日以來的正確秒數值。然後,只需要減去兩者即可獲得差異。

5

我假設你把它作爲一個DATETIME列。因此,在MySQL

SELECT 
    UNIX_TIMESTAMP(`date_column`) AS `timestamp`, 
    ... 
FROM 
    ... 

然後,在PHP:

$time_diff_in_seconds = time() - $query_result['timestamp'] 

不過,我只是讓數據庫做:

SELECT 
    TIME_TO_SEC(TIMEDIFF(CURRENT_TIMESTAMP, `date_column`)) AS time_diff, 
    ... 
FROM 
    ... 
+0

我實際上將它作爲TIMESTAMP列存儲 – bzupnick

+0

@bzupnick:PHP時間戳和MySQL unix時間戳相同 - 自1970年1月1日以來的秒數。除非涉及時區/夏令時細節,否則不需要處理。 –

+0

但時間戳給我2011-06-30 04:33:00和PHP時間戳給我一堆數字....即時猜測毫秒....但他們不是相同的格式 – bzupnick

0

你應該檢查的一件事:兩次來自同一臺機器?如果他們來自不同的機器,您應該擔心時區和同步。

相關問題