2016-04-22 7 views
1

PHP strtotimeに異なるタイムゾーンに変換する際に問題があります。 私のコードは単純です:PHP strtotime timezone

<?php 
date_default_timezone_set("Europe/Bratislava"); 
echo date("H:i",strtotime("20:00 America/New_York")); 
?> 

このコードが戻っている:午前2時。 しかし、14:00に戻る必要があります。

この問題を解決してもらえますか?

+2

正しいです... –

+0

"Y m d"を日付に追加するとどうなりますか?たぶんそれは20時00分を何か他のものとして読む – Andreas

答えて

10

このコードは返されます:02:00。しかし、それは14:00に戻るはずです。

いいえ、そうです。あなたはニューヨークの午後8時(現在はDSTのためUTC-4)からヨーロッパ/ブラチスラバのタイムゾーン(現在はDSTのためUTC + 2)に変換しています。

ので:あなたはニューヨーク時間へヨーロッパ/ブラチスラバ時間からを変換しようとしている

New York: 8pm 
UTC:  Midnight 
Bratislava: 2am 

場合は、あなたのタイムゾーンIDを切り替える必要があります。

+0

ニューヨークはUTC-5、ブラチスラバはUTC + 1です。 –

+2

@MateiMihai:夏はありません。 DSTはそれらのそれぞれに1時間を追加します。 –

+0

ありがとう、私はBRATISLAVAからNEW YORKに変更したいです、どうすればいいですか? –