[resolu][PHP & Oracle] Champs DateTime : recuperer la date ET l'heure

Champs DateTime : recuperer la date ET l'heure [resolu][PHP & Oracle] - PHP - Programmation

Marsh Posté le 30-09-2010 à 10:45:21    

Bonjour,
 
je dois recuperer la date et l'heure d'un champ afin de regrouper mes resultats par heure. Probleme, lorsque j'affiche le resultat de ma requete, je ne recois que la date au format "30-SEP-10".
 
Pour afficher ce resultat, j'utilise : OCIResult($result, "DATECRE" )
J'ai essaye ceci : $time = date("H:i:s", strtotime(OCIResult($result, "DATECRE" )));
Ca me retourne : 00:00:00
 
Pourtant j'ai bien l'heure de specifie dans ma table, pourquoi n'est elle pas importee avec la date ?
 
Comment faire pour avoir l'heure et classer les resultats par heure ?


Message édité par shooker le 30-09-2010 à 11:24:12
Reply

Marsh Posté le 30-09-2010 à 10:45:21   

Reply

Marsh Posté le 30-09-2010 à 11:07:27    

OCIRsult() renvoie la date au format qui a été défini par le paramétrage d'Oracle concernant NLS_DATE_FORMAT.
Avec les bases de données françaises, le paramétrage est souvent fait pour avoir des dates au format français.
Mais strtotime() a besoin de la date au format anglais.
Donc, je pense que pour que ça marche il faudrait utiliser autre chose que le strtotime().
Et de toutes façons, comme la date est retournée par OCIRsult() sous la forme d'une chaine, il est un peu lourd de la convertir en date puis à nouveau en chaine, au lieu d'extraire directement la sous-chaine dès le début.

Reply

Marsh Posté le 30-09-2010 à 11:23:57    

Merci pour cette reponse, je travaille en angleterre, le format est donc correct.
 
J'ai trouve la solution, executer ce code avant la requete :
$cursor=OCIParse($connection, "ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'" );
OCIExecute($cursor);
OCIFreeCursor($cursor);
 
http://bugs.php.net/bug.php?id=10350

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed