mysql Zeit und php Zeit nicht das gleiche

8

Wenn ich current_timestamp mit MySQL verwende, bekomme ich die richtige Zeit, aber wenn ich

benutze

$mysqldate = date( 'Y-m-d H:i:s' );

Ich bekomme das Datum mit einer Stunde Verzögerung (z. B. 04.42 Uhr ist 5:42 Uhr). Ich habe verstanden, dass beide Funktionen die lokale Zeit des Servers benutzen - kann jemand den Unterschied erklären?

Danke.

    
daniel 09.06.2009, 12:11
quelle

4 Antworten

9

Die globale Systemzeit wird über die Datei / etc / localtime festgelegt, die bei den meisten Systemen entweder ein Symlink oder eine Kopie einer Zonendatei aus / usr / share / zoneinfo / ist. Anwendungen verwenden dies als Standard.

PHP kann dies auf verschiedene Arten überschreiben:

  1. date.timezone in php.ini
  2. Einstellen der TZ-Umgebungsvariablen, z.B. %Code%
  3. date_default_timezone_set Funktion (in PHP & gt; = 5.1.0)

MySQL kann dies überschreiben, indem die folgende Abfrage unmittelbar nach dem Verbinden ausgeführt wird:

%Vor%     
Gabe Martin-Dempesy 09.06.2009, 14:04
quelle
2

Es gibt php locale-Einstellungen, es wird aus der php.ini, nicht aus der Systemzeit

genommen     
Svetlozar Angelov 09.06.2009 12:23
quelle
1

Vielleicht denkt Ihr PHP-Server, dass er sich in einer anderen Zeitzone befindet oder unterschiedliche Gebietsschema- und Sommerzeit-Regeln verwendet.

    
Piskvor 09.06.2009 12:17
quelle
0

Werfen Sie einen Blick auf diesen Artikel: Ссылка

    
Ropstah 09.06.2009 12:13
quelle

Tags und Links