2013-01-02 19 views
0

我有一個簡單的表:怪異SQL和JavaScript Ajax錯誤

id | user | start 
1 11  2013-01-04 02:00:00

開始當然是時間戳。

並比我運行一個查詢選擇行, ,當我運行查詢扔了phpmyadmin或其他任何地方,它完美返回結果。

但是,當我的頁面執行到服務器的調用,結果是不同的1小時差異。

你有什麼想法嗎?

$start = //is ok 
$end = //is ok 


$query = ' 
      SELECT id, title, start_in, duration, color, DATE_ADD(start_in , INTERVAL (duration*60) MINUTE) AS end_in 
      FROM shifts 
      WHERE start_in BETWEEN \''.$start.'\' AND \''.$end.'\' 
       '; 

只是爲了澄清,我得到的結果以JSON從1次小時的時差服務器,這是之前我甚至創造沒有在JS。

+0

'start'看起來不像時間戳。它看起來像一個'datetime'。您需要向我們展示您的代碼。 – Kermit

+2

因爲您的服務器存在於不同的時區。 –

+0

閱讀:** [MySQL服務器時區支持](http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html)** –

回答

1

如果您正在使用它來創建Javascript日期對象,請務必附加正確的時區並在正確的時區請求它。

或者完全擺脫Javascript Date對象並將其視爲字符串。