0

これは、ordersテーブルにエントリを作成するスクリプトです。ただし、現在、テーブルに挿入されている時刻が現地時間として表示されていません!

//Retrieve variables
$tableNum = $_POST['tableNum'];
$coverNum = $_POST['coverNum'];

//GET DATE & SET TIME ZONE
date_default_timezone_set(Europe/Dublin);

$date = date("Y-m-d H:i:s", time());

//construct query & execute
$sql = "INSERT INTO orders (covers, `table`, placed) VALUES ('$coverNum', '$tableNum', '$date') ";
$result = mysql_query($sql) or die(mysql_error());
$numrows = mysql_affected_rows();

ヨーロッパ/ダブリンで表示するようにコードを修正する方法を誰か提案できますか? 私のテーブルの列は ですTIMESTAMP

上記のコードでは、私の出力は次のとおりです。

2013/02/21 - 14:30

これでなければなりません:

2013/02/21 - 21:30

どうもありがとう!

4

3 に答える 3

3

ヨーロッパ/ダブリン周辺の引用符を追加する必要があると思います

date_default_timezone_set('Europe/Dublin');
于 2013-02-21T21:40:05.473 に答える
0

タイムゾーンを変更するときは、そのような文字列を提供する必要があります

date_default_timezone_set("Europe/Dublin");

詳細はこちら

于 2013-02-21T21:41:16.427 に答える
0

これを行う別の方法は次のとおりです。

$datetime = new DateTime(null, new DateTimeZone('Europe/Dublin'))
$datetime->format("Y-m-d H:i:s");

タイムゾーンの操作が簡単になるため、DateTimeを使用するのが好きです。

于 2013-02-21T21:41:23.630 に答える