2016-04-22 9 views
1

Ich habe Probleme mit PHP strtotime Konvertierung in andere Zeitzone. Mein Code ist einfach:PHP strtotime Zeitzone

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

Dieser Code wird Rückkehr: 02.00. Aber es sollte 14:00 zurückkehren.

Können Sie mir bitte helfen, dies zu beheben?

+2

ist es korrekt ... –

+0

Was passiert, wenn Sie "Y m d" zum Datum hinzufügen? Vielleicht liest es 20:00 als etwas anderes – Andreas

Antwort

10

Dieser Code wird zurückgegeben: 02:00. Aber es sollte 14:00 zurückkehren.

Nein, es ist richtig. Sie konvertieren um über 20 Uhr in New York (aktuell UTC-4 nach DST) in die Europa/Bratislava Zeitzone (aktuell UTC + 2 aufgrund von DST).

So:

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

Wenn Sie versuchen, von ein Europa/Bratislava Zeit in eine New Yorker Zeit zu konvertieren, dann müssen Sie Ihre Zeitzone IDs wechseln.

+0

New York ist UTC-5 und Bratislava ist UTC + 1 –

+2

@MateiMihai: Nicht im Sommer. DST fügt jedem eine Stunde hinzu. –

+0

Danke für die Antwort, ich möchte von BRATISLAVA zu NEW YORK wechseln, wie es geht bitte? –