Verwalten von timezone in der php-mit ics-Datum/Zeit-format
Ok, ich bin mit einer ICS-parser-Dienstprogramm zum analysieren google Kalender ICS-Dateien. Es funktioniert Super, außer google füttert mich die Zeiten der Veranstaltungen im UCT.. also muss ich subtrahieren Sie 5 Stunden und 6 Stunden, wenn die Sommerzeit passiert.
Bekommen die start-Zeit, die ich verwende:
$timestart = date("g:iA",strtotime(substr($event['DTSTART'], 9, -3)));
//$event['DTSTART'] feeds me back the date in ICS format: 20100406T200000Z
Also, irgendwelche Vorschläge, wie zu handhaben, Zeitzone und Sommerzeit?
Vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach nicht mit der substr () - Teil des Codes. strtotime ist in der Lage zu analysieren, die
yyyymmddThhiissZ
formatierten string und interpretiert die Z-Zeitzone=utc.z.B.
Drucke
edit: oder verwenden Sie die DateTime und DateTimezone Klassen
(output ist der gleiche)
Wenn Sie haben, setzen Sie Ihre Zeitzone locale, können Sie auch dann verwenden, date("T") wird wieder die aktuelle Zeitzone.
Weil wir in der Sommerzeit, (in meiner Zeitzone) gibt es:
EDT
Dann könnte man in einer IF-Anweisung passen Sie Ihre Zeitzone-Einstellung.