私のサーバーは米国にあり、私は英国にいます。タイムゾーンの問題mysql
デフォルトのCURRENT_TIMESTAMPを使用して、タイムスタンプ値をmysqlサーバに保存します。したがって、エントリが自分のテーブルに追加されると、現在の時刻がスタンプされます。これはサーバ時間(US)であり、mysqlによってUTCに変換されます。
私が現在のタイムゾーン(UK)に表示したい値を取得するとき。だから私のPHPで、私は現在のタイムゾーンを設定するには、次の関数を使用します。それぞれ00:
mysql_query("SET time_zone = timezone;");
をこれは私がサーバーとのセッションタイムゾーンをエコーするためのmysqlを要求したとき、私は、SYSTEMおよび-08を得るように動作するようです。
しかし、私は後でタイムスタンプ値を同じ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 –
のタイムスタンプ値を印刷する場合は特に、いくつかのコードを示し、 'SET time_zone'クエリが同じ要求中に行われますタイムスタンプを取得するクエリ? –
そうは思わない私は今それを次のように変更しました: – Sam