PHPで現在の日付と時刻を出力するために使用しました:
$now = time();
echo date('j M, Y H:i:s',$now);
結果は、日付、月、年に関する限り正確です。しかし、時間は同じコンピューターで一致していません (localhost でテストしているように)。
PHPで現在の日付と時刻を出力するために使用しました:
$now = time();
echo date('j M, Y H:i:s',$now);
結果は、日付、月、年に関する限り正確です。しかし、時間は同じコンピューターで一致していません (localhost でテストしているように)。
タイムゾーンを操作するには、次の 3 つの方法があります。
php.ini ファイルでデフォルトのタイムゾーンを設定する (非推奨):
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/Sao_Paulo
これは、この php.ini によって構成されたサーバー上で実行されている PHP ファイルに対してのみ機能します。
初期化 PHP スクリプトでデフォルトのタイムゾーンを設定します。
date_default_timezone_set('America/Sao_Paulo');
これは、ほとんどすべてのスクリプトで機能します。
DateTimeZone オブジェクトの操作:
$date = new DateTime('2013-11-09 01:08:32', new DateTimeZone('America/Sao_Paulo'));
これはすべてのスクリプトで機能しますが、少し面倒になる可能性があります。
多分これはあなたに役立つでしょう(もちろんあなたのタイムゾーンに変更してください):
date_default_timezone_set("America/Phoenix");
変換機能:
// converts from UTC to Phoenix time
function timezone_convert($datetime) {
$datetime = new DateTime($datetime);
$phx_time = new DateTimeZone('America/Phoenix');
$datetime->setTimezone($phx_time);
$datetime = $datetime->format('Y-m-d H:i:s');
return $datetime;
}
その理由は、php.ini が別のタイムゾーンを使用しているためです。