2009-11-29 4 views
9

Ich füge das aktuelle Datum und die Uhrzeit zu meiner Datenbank mit dem folgenden Code:Warum ist meine Zeit() um eine Stunde in PHP deaktiviert?

$current_date_time = time(); 
echo date('n/j/y g:ia',$current_date_time); 

Es zeigt sich als 11/29/09 12.38, wenn es 11/29/09 sein sollte, 11.38

Die Zeit ist um eine Stunde voraus. Ich bin in der Pazifik-Zeitzone und mein Hosting-Provider ist in Utah, der Mountain Time Zone. Könnte dies der Grund sein, warum es um eine Stunde voraus ist?

Wie löse ich dieses Problem? Muss ich eine Stunde aus der Zeit entfernen? Wenn ja, wie mache ich das? Oder gibt es eine andere Möglichkeit, Zeitzonenunterschiede zu berücksichtigen, sodass diese in der Pacific Time Zone angezeigt werden?

Antwort

21

Sie lösen es, indem Sie die Zeitzone explizit in Ihren PHP-Skripten festlegen. Sie können dies tun, mit date_default_timezone_set():

date_default_timezone_set('America/Los_Angeles'); 

Hier die list of PHP supported timezones ist.

Sie können auch ein Testskript versuchen, das date_default_timezone_get() aufruft, um zu sehen, was es wirklich eingestellt wird, um zu überprüfen, dass dies in der Tat das Problem ist.

+0

Wie mache ich das? – zeckdude

+0

Cool! Danke vielmals! Obwohl ich date_default_timezone_set ('America/Los_Angeles') brauchte; seit ich in der Pacific Time Zone bin. – zeckdude