2012-04-05 16 views
1

Ich versuche, einen Zeitstempel für mysql Einträge zu verwenden, aber es erscheint als hinter 20 Stunden.mysql/php Zeitzone Probleme

Wenn ich tippe die folgenden in mysql-Befehlszeile die richtige Zeit angezeigt (es ist derzeit 08.15 Eastern)

SELECT NOW(); 

Wenn ich etwas in meiner Datenbank unter Verwendung der folgenden einreichen, alles außer der richtige ist Die Uhrzeit wird als 12:15 Uhr angezeigt.

date('m/d/Y,h:i:a'); 

Die Spalte in meiner Tabelle ist varchar (20), wenn das zählt.

Ich habe auch versucht, um sicherzustellen, dass es auf östliche Zeitzone gesetzt ist, indem ich aber einen Fehler habe, der falsche Zeitzone sagt.

SET time_zone = 'America/New_York'; 

Hat jemand eine Ahnung, warum ich nach 20 Stunden in meinem databse Eintrag bin weg, aber wenn ich mysql Befehlszeile verwenden, um die Zeit zu schauen es korrekt angezeigt wird?

Antwort

2

Ich nehme an, dies ist ein PHP-Zeitzonenproblem. Sie sollten überprüfen, welche Zeitzone Sie in Ihrer PHP Ini-Datei eingestellt haben.

[Date] 
; Defines the default timezone used by the date functions 
date.timezone = America/New_York 

Sie können auch die Zeitzone in Ihrem Skript setzen:

ini_set('date.timezone', 'America/New_York'); 

Scheint, wie Sie die Zeitzone in MySQL zu ändern versuchen. Sie sollten auch Ihre Zeitzoneneinstellung von MySQL überprüfen, nur um sicherzugehen.

+0

Wo genau in meinem Skript stelle ich das ein? Ich verwende eine Variable $ timestamp = date ('m/d/Y, h: i: a'); und dann diese Variable eingeben. Würde ich es vor dieser Variable setzen? – user1104854

+0

Ja, mach einfach das ini_set am Anfang des Skripts. – Gohn67

+0

Um zu testen, drucken Sie einfach das Datum aus, um zu sehen, ob es in der richtigen Zeitzone ist. – Gohn67