我的服務器在美國,而我在英國。時區問題mysql
我使用默認的CURRENT_TIMESTAMP將時間戳值存儲在mysql服務器上。所以當條目被添加到我的表格中時,它們會被打上當前時間。這是服務器時間(美國),然後通過mysql轉換爲UTC。
當我檢索我希望它們顯示在當前時區(英國)的值。所以在我的PHP我用下面的函數設置當前時區:
mysql_query("SET time_zone = timezone;");
這似乎當我問MySQL的回聲服務器和會話時區,我得到SYSTEM和-08:00分別。然而,當我稍後在相同的PHP腳本中打印我的時間戳值時,它們將在美國時間輸出。
獲得的結果在PHP中:
$result = mysql_query("SELECT ID,DateTime,Name,Comment,Location,Rating FROM table1 WHERE Latitude<$latup AND Latitude>$latdown AND Longitude<$lngup AND Longitude>$lngdown ORDER BY DateTime DESC")
while(($row = mysql_fetch_array($ratingresult)) && ($i++ < 1)) {
echo "<tr><td>";
echo $row['DateTime'];
echo "</td><td>";
echo $row['Name'];
echo "</td><td>";
echo $row['Comment'];
echo "</td><td>";
echo $row['Location'];
echo "</td><td>";
echo $row['Rating'];
echo "</td><td>";
rate($row, $lat, $lng);
echo "</td></tr>";
}
任何幫助將非常感激!
請出示一些代碼,尤其是當你打印時間戳值在PHP – 2010-11-22 16:16:21
而`SET time_zone`查詢爲相同的請求期間進行提取時間戳的查詢? – 2010-11-22 16:25:31