2017-04-12 14 views
0

私のタイムスタンプがタイムゾーン内の元の日時と異なるのはなぜですか?タイムゾーン付きPHPタイムスタンプ

ex。私は4/9/17 8時30分51秒にコードを実行します。

結果は、これは、それはあなたのウェブサーバとブラウザのほとんどで、ユニバーサルタイムゾーンに設定の日付に簡単です4/10/17午前11時30分51秒

$now = new DateTime(); 
now->setTimezone(new DateTimeZone('Asia/Manila')); 
echo $now->format("m/d/y G.i:s<br>"); 
+1

あなたのサーバーはどのタイムゾーンにありますか? –

+0

私のデスクトップの@JoseMarques私はUTCのカナダを使用しています – questioner

+0

私はどのWebサーバーを使用しているのですか?たとえば、Apache、Windows ISSなどです。 –

答えて

0

になります。

$now = new DateTime(); 
$now->setTimezone(new DateTimeZone("Asia/Manila")); 
echo $now->format("m/d/y G.i:s<br>"); 

このコードを使用して日付をパラメータ化します。

DateTimeZoneを - >あなたのタイムゾーンに、私はそれが目的の形式にアジア/マニラ

format->形式の日付であることを予測すること。

それがうまくいかなかった場合は、これを試してみてください。

ローカルサーバー上

は、あなたがPHP_INIで設定を変更することができます。以下のためのあなたのファイル探す場所

。日付関数で使用されるデフォルトのタイムゾーンを定義します。

;

ためhttp://php.net/date.timezone

date.timezoneで= UTC

変化。日付関数で使用されるデフォルトのタイムゾーンを定義します。

; http://php.net/date.timezone

date.timezoneで=アジア/マニラ

これはあなたの問題を解決しない場合。すべてのPHPファイルの先頭にこれを使用します。

date_default_timezone_set("Asia/Manila"); 
setlocale(LC_ALL, 'your_language'); 

Exemple:

date_default_timezone_set("America/Sao_Paulo"); 
setlocale(LC_ALL, 'pt_BR'); 

あなたが好きなら、スコアまたは有用フラグを与えます。

関連する問題