Changer le format des dates dans mysql

Eléphant du PHP | 76 Messages

16 nov. 2012, 04:59

Bonsoir,

J'aimerais changer le format d'afficher des dates dans mysql, mais je ne trouve pas comment.

MySQL insert une date comme ceci : 23-10-1991

Et mon super datetime picket jquery affiche comme cela : 11/15/2012

:D

Merci

ViPHP
xTG
ViPHP | 7331 Messages

16 nov. 2012, 10:03

Tu peux opérer une transformation avec explode() :
$tab = explode('/', $maDateJquery);
$maDateMySQL = $tab[2] . '-' . $tab[1] . '-' . $tab[0];
Voilà le principe, à protéger par contre. ;)

Eléphanteau du PHP | 24 Messages

16 nov. 2012, 10:30

Sinon, tu laisses enregistré au format MYSQL et à l'affichage tu fais un strtotime ?

Exemple:
if ($result->nom_du_champs_date != '0000-00-00') {
	echo date("d/m/Y",strtotime($result->nom_du_champs_date));}

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 nov. 2012, 23:38

ou simplement utiliser date_format de mysql.

la date sur le sgbd restera en anglais, peux être modifiable via la conf mais il peu probable que tu ai la main la dessus sur ton site en ligne.

sinon la classe dateTime peux aussi t'aider.

je préfère de loin le date_format fait par mysql.


@+
Il en faut peu pour être heureux ......

ViPHP
xTG
ViPHP | 7331 Messages

18 nov. 2012, 09:38

MySQL formate automatiquement la date lors de l'insertion si son format est géré.
S'il n'est pas géré on obtient 0000-00-00 ou bien une date fausse (c'est le cas de l'auteur de ce topic).
Donc date_format n'y changera rien vu que cette fonction se base aussi sur un format de date reconnu.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 nov. 2012, 16:18

hum oui je ne me suis basé que pour le select ^^

donc date!time::format.


le to_date d'oracle manque la ;)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 76 Messages

19 nov. 2012, 01:41

J'ai formater la date comme ceci :
$tab = explode('/', $maDateJquery);
$maDateMySQL = $tab[2] . '-' . $tab[1] . '-' . $tab[0];
Pour ensuite l'insérer dans mysql :) merci

Avatar du membre
Mammouth du PHP | 1609 Messages

19 nov. 2012, 01:51

Pour aller un peu plus loin. Si tu as besoin de le faire plusieurs fois tu peux réduire ton code en créant une fonction pour le faire.
function date_fr_to_db($date) {
  $tab = explode('/', $date);
  return $tab[2] . '-' . $tab[1] . '-' . $tab[0];
}

$maDateJquery = '21/12/2012';
echo date_fr_to_db($maDateJquery);// affiche 2012-12-21
Développeur web depuis + de 20 ans