hinzufügen von timezone für eine bestimmte Zeit in php

brauche ich zum konvertieren gegeben australischen Zeiten in UTC. diese Zeit kann von verschiedenen Staaten AUS. ich habe die Staaten in die DB gespeichert und der time-offset in einer Spalte.

möchte ich wissen, wie ist es möglich, fügen Sie einen Zeit-offset oder subtrahieren Sie es auf diese Weise.

//gespeicherte Werte von Staaten und Ihrer Spalte.

"NT" = +9.30
"QLD" = +10.00
"WA" = +8.00

ich nehme das ausgewählte Datum Zeit und müssen zur Verringerung der Einpresstiefe.

$timeAinUTC = date("H:i A", strtotime("07am")) - (offset); 

i.e $timeAinUTC = date("H:i A", strtotime("07am")) - (+9.30);

wie kann ich diese Art von Arbeit mit php ' s datetime ?

BEARBEITEN 1,

Versuchte ich dies, um meinen offeset aber wie es scheint, kann ich nicht liefern double-Werte wie 2.30 Stunden oder 2.50

Es funktioniert, wenn ich Sie Fragen zum hinzufügen von 2 Stunden auf diese Weise.

strtotime($current_time . "+2hours");

aber wenn ich wie unten , seine falsch.

strtotime($current_time . "+2.30hours");

EDIT 2

Alle Staaten verfügbar in AUS.
ACT, NSW, NT, QLD, SA, TAS, VIC, WA

http://wwp.greenwichmeantime.com/time-zone/australia/time-zones/

EDIT 3

Habe ich versucht, diese, wie unten erläutert, die eine person in die Antwort.

$date = new DateTime('2013-10-01 01:45', new DateTimeZone('Australia/Melbourne'));
echo $date->format('Y-m-d h:i:s A') . "<br>";

$date->setTimezone(new DateTimeZone('UTC'));
echo $date->format('Y-m-d h:i:s A') . "<br>";

Aber es gibt,

2013-10-01 01:45:00 AM
2013-09-30 03:45:00 PM

Wie kann das falsch sein ? 2013-09-30 03:45:00 PM ist falsch, wie pro meine understaing und eigentlich sollte es 10 Stunden hinter 2013-10-01 01:45:00 UHR UTC, nicht wahr ?

Eine Ausgabe, die Sie vielleicht haben, ist, dass einige Zeiten ändern. Zum Beispiel in Großbritannien, wir haben Sommerzeit, daher würden Sie haben, um herauszufinden, bei all den änderungen der Zeit sind und ein Skript ausführen, um die DB zu ändern, die offsets. Besser lagern Sie die Zeitzone und Uhrzeit, und ändern Sie dann berechnen Sie den Unterschied, wenn Sie brauchen, um in PHP.
meinst du in diesem format die zone nur ? 'Australien/Queensland' wenn dem so ist, Frage ich mich, wird es automatisch Griff die Sommerzeit und alle ?
können Sie bitte überprüfen Sie das bearbeitete Abschnitt 2. ich konnte es nicht arbeiten lassen mit Ihrer Antwort. was bin ich ?
Ich denke, das ist richtig timeanddate.com/worldclock/...
Über edit3, es ist 10 Stunden hinter sich. 01:45AM - 10hours = 03:45PM. Wo ist das problem?

InformationsquelleAutor dev1234 | 2013-10-01

Schreibe einen Kommentar