Reformater une variable date

Reformater une variable date - PHP - Programmation

Marsh Posté le 20-05-2009 à 17:18:01    

Plop
 
Je recupere une variable (champ sql de type date), donc au format Y-m-d
 
Est il possible a travers une syntaxe particuliere de la fonction date() de la reformater en d-m-Y par exemple ?
 
Ou suis-je obliger de faire un explode et de la reformater a la main ??
 
Merci

Reply

Marsh Posté le 20-05-2009 à 17:18:01   

Reply

Marsh Posté le 20-05-2009 à 21:43:26    

Tu peux le faire directement en SQL à l'aide de DATE_FORMAT. Sinon, y a strtotime() en php, mais tu peux en effet isoler Y, m et d et l'utiliser comme paramètres de mktime().

Reply

Marsh Posté le 02-06-2009 à 21:00:49    

par exemple comme ceci directement dans ta requête
 

Code :
  1. SELECT DATE_FORMAT(ton_champ_date, '%d-%m-%Y') AS date_formatee FROM tatable

Reply

Marsh Posté le 03-06-2009 à 03:26:13    

ou encore tu récupères ta date en timestamp via SQL :

 
Code :
  1. SELECT UNIX_TIMESTAMP(tonchampdate) AS ladate FROM tatable
 

et tu le formates à ta guise en PHP via la fonction date(), qui si je ne me trompe pas accepte plus de paramètres que le DATE_FORMAT de SQL mais je ne suis pas sûr

 
Code :
  1. date("j/m/Y", $tabLecturefromRecordSet['ladate']);
 

A noter en MySQL que MÊME si ton champ est de type "timestamp" et pas "date", une requête sur ce champ va te retourner une structure ISO 8601 (c'est-à-dire du style "YYYY-MM-DD hh:mm:ss). J'ai essayé via tous les modules possibles (phpmyadmin, MySQL Query browser, command prompt sur serveur, etc.) mais c'était sur un serveur Windows ... Peut-être que sur Linux c'est en vrai timestamp...


Message édité par ZeBix le 03-06-2009 à 03:29:53
Reply

Marsh Posté le 03-06-2009 à 16:48:53    

plutôt
date("d/m/Y", $tabLecturefromRecordSet['ladate']);


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 03-06-2009 à 18:11:34    

question de préférence, perso je n'aime pas avoir les 0 non significatifs affichés donc "j" au lieu de "d".
De toute manière c'était un exemple pour illustrer ce que date() permet.

Reply

Marsh Posté le 03-06-2009 à 18:28:17    

disons que si derrière il doit traiter la date, c'est plus simple de l'avoir sur une taille fixe plutôt que variable. Et puis tu mets bien "m" pour le mois (donc 01, 02...12)...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

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