2009-06-25 14 views
0

Ich versuche, die Versatzstunden von UTC zu erhalten, wenn ein Sommertermin gegeben wird. Meine Systemzeit ist auf America/Los_Angeles eingestellt.Wie bekomme ich den Zeitzonenstunden-Offset und verdiene DST mit PEAR :: Date?

Ich habe folgendes:

require_once("Date.php"); 

$dateTZ = new Date_TimeZone('America/Los_Angeles'); 

echo $dateTZ->getOffset(new Date('2009-07-01 12:00:00'))/1000/60/60; 

Dies druckt '-8'; sollte es nicht "-7" anzeigen?

echo $dateTZ->getOffset(new Date())/1000/60/60; 

druckt auch '-8'.

Was mache ich falsch?

Antwort

1

Hilft Ihnen Date::inDaylightTime()? behauptet, dass der Ausgleich von Sommerzeiten mit einberechnen würde.

+0

Date_TimeZone-> inDaylightTime (Datum) funktioniert. Ich hatte das schon einmal versucht, aber ich hatte es falsch benutzt. Vielen Dank. –