3

次のコードを使用して、UTC_TIMESTAMP を MySQL データベースに送信しています。

$logq = "INSERT INTO logs (Name, Page, Date) VALUES ('$user', '$page', UTC_TIMESTAMP())";

私は英国にいて、現在時刻が UTC_TIMESTAMP より 1 時間進んでいるので、入力した値に 1 時間を追加したいのですが、これを行う方法がわかりません。Stack Overflow で見つかったいくつかの提案を試しましたが、どちらも機能しません。誰かがこれを正しく行う方法を教えてもらえますか? また、サマータイムの扱い方がよくわかりません。これを自動的に説明する方法はありますか?

ありがとう、

ニック

4

5 に答える 5

12
DATE_ADD(UTC_TIMESTAMP(), INTERVAL 1 HOUR)
于 2012-05-05T13:11:15.677 に答える
2

mysql データ型の TIMESTAMP は、どこにいても常に UTC です。タイムスタンプを内部的に標準の YYYY-MM-DD HH:SS 形式に変換する関数 FROM_UNIXTIME があります。関数 FROM_UNIXTIME を使用すると、その UTC がローカル タイムゾーンに自動的に変換されます。そのため、時間を調整する必要はなく、昼間の状況に関係なく、会計は常に良好です。

于 2012-05-05T14:16:13.383 に答える
0

mysqlのADDDATE関数を使用してください。これを使用すると、任意の日付に時間/月/日を追加できます。

 ADDDATE( UTC_TIMESTAMP(), INTERVAL 1 HOUR)

以下のURLはmysql日時関数に属しています。

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

ありがとう

于 2012-05-05T13:18:38.527 に答える
0

PHP でデータベースへの接続を作成したら、クエリの前に次のコードをクエリします。

mysql_query("SET time_zone = '+3:00'");

私はそれを試しませんでしたが、うまくいくはずです。

これに関するいくつかのリンク:

于 2012-05-05T13:11:25.257 に答える