Formatage de date

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

30 avr. 2005, 23:37

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 !

Eléphant du PHP | 139 Messages

30 avr. 2005, 23:41

essaie comme ceci :
par exemple:
$mois=date("m",strtotime($ladate));

ioup
Invité n'ayant pas de compte PHPfrance

30 avr. 2005, 23:44

salut ! j'ai utiliser ça sur mon site :)
<? 
setlocale (LC_TIME, "fr") ; 
echo strftime(" %A %d %B %Y ");
?>
bon courage :)

Eléphant du PHP | 139 Messages

30 avr. 2005, 23:44

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.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

30 avr. 2005, 23:45

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;
}

Eléphant du PHP | 139 Messages

30 avr. 2005, 23:48

<?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");
?>

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

30 avr. 2005, 23:53

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 !!!