Page 1 sur 1

Formatage de date

Posté : 30 avr. 2005, 23:37
par albat
Au risque de me faire charrier, j'avoue avoir beaucoup de difficultés avec les gestions de dates... :oops:

Mon but : 2005-05-01 :arrow: 1er mai 2005

La fonction ci-dessous ne fonctionne pas.
Je pense que le problème vient du fait qu'elle considère $date_in
comme une chaîne de caractères et non comme une date.
function formatdate($date_in)
{ $Mois = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
  $date_out = date("j",$date_in).(date("j",$date_in)==1 ? "<sup>er<sup> " : " ").$Mois[date("n",$date_in)-1]." ".date("Y",$date_in);
  return $date_out;
}
Merci !

Posté : 30 avr. 2005, 23:41
par Gentoo Warrior
essaie comme ceci :
par exemple:
$mois=date("m",strtotime($ladate));

Posté : 30 avr. 2005, 23:44
par ioup
salut ! j'ai utiliser ça sur mon site :)
<? 
setlocale (LC_TIME, "fr") ; 
echo strftime(" %A %d %B %Y ");
?>
bon courage :)

Posté : 30 avr. 2005, 23:44
par Gentoo Warrior
Le deuxième paramètre de date doit être un timestamp.

Mais tu peux utiliser la fonction strtotime() pour transformer.

Regarde le manuel php sur date il y plein d'info dessus, et il mon bien servi quand j'ai fait mon calendrier.

Posté : 30 avr. 2005, 23:45
par albat
J'ai essayé ça. Pas franchement transcendant. :(
function formatdate($date_in)
{ $Mois = array("janvier", "f&eacute;vrier", "mars", "avril", "mai", "juin", "juillet", "ao&ucirc;t", "septembre", "octobre", "novembre", "d&eacute;cembre");
  $date_in = date("Y-m-d",strtotime($date_in));
  $date_out = date("j",$date_in).(date("j",$date_in)==1 ? "er " : " ").$Mois[date("n",$date_in)-1]." ".date("Y",$date_in);
  return $date_out;
}

Posté : 30 avr. 2005, 23:48
par Gentoo Warrior
<?php
function formatdate($date_in)
{ $Mois = array("janvier", "f&eacute;vrier", "mars", "avril", "mai", "juin", "juillet", "ao&ucirc;t", "septembre", "octobre", "novembre", "d&eacute;cembre");
  $date_in = date("Y-m-d",strtotime($date_in));
  $date_out = date("j",strtotime($date_in)).(date("j",strtotime($date_in))==1 ? "er " : " ").$Mois[date("n",strtotime($date_in))-1]." ".date("Y",strtotime($date_in));
  return $date_out;
}
echo formatdate("2005-05-01");
?>

Posté : 30 avr. 2005, 23:53
par albat
La solution (qui fonctionne très bien) était :
function formatdate($date_in)
{ $Mois = array("janvier", "f&eacute;vrier", "mars", "avril", "mai", "juin", "juillet", "ao&ucirc;t", "septembre", "octobre", "novembre", "d&eacute;cembre");
  $date_out = date("j",strtotime($date_in)).(date("j",strtotime($date_in))==1 ? "er " : " ").$Mois[date("n",strtotime($date_in))-1]." ".date("Y",strtotime($date_in));
  return $date_out;
}
Merci !!!