2010-06-22 6 views
0

Je date stockée dans ma table MySQL comme 2010-01-01 01:01:01date_format dans l'instruction select MySQL

mais quand je fais une recherche de la date avec je commande date_format comme

DATE_FORMAT(date_created, '%%m-%%d-%%y (%%h:%%i %%p)') as cdate 

obtenir une date convertie en fonction de fuseau horaire du système MySQL , c'est à dire qu'il y a quelques heures de différence.

Pour que j'ai utilisé la requête:

"SET GLOBAL time_zone = '+5:30'" 
"SET SESSION time_zone = '+5:30'" 

Mais encore requête MySQL délivre date convertie. Je veux obtenir exactement la date qui est stockée dans cette table sans ajouter/soustraire les différences de fuseau horaire.

Aidez-nous s'il vous plaît. Je suis vraiment coincé.

Répondre

0
SET SESSION time_zone = SYSTEM; 

ou

SET SESSION time_zone = '+0:0'; -- for UTC time if server TZ is set correctly. 
+0

j'exécuter la commande SELECT @@ global.time_zone, @@ session.time_zone; ci-dessus requête également returnign +0: 00 .. Mais encore il convertit le temps à l'autre fuseau horaire .. pls aider ... –

+0

alors c'est le temps qui est stocké là-bas. Les colonnes date et heure ont été converties en UTC en fonction de tz qui étaient en vigueur avant de les stocker dans des tables. Si vous souhaitez mémoriser le même moment, vous devez définir le même fuseau horaire lorsque vous l'avez enregistré. –

+0

La base de données renvoie toujours l'heure correcte. lors de l'exécution de cette requête: sélectionnez date_created à partir de la table .. mais il est en cours de conversion lorsque j'ai utilisé la commande: sélectionnez DATE_FORMAT (date_created, '%% m - %% d - %% y (%% h: %% i% % p) ') comme cdate de la table Pls helpppp –