Convertir un nombre en jour de l'année

Soyez le premier à donner votre avis sur cette source.

Snippet vu 28 663 fois - Téléchargée 23 fois

Contenu du snippet

Pour le boulot j'avez besoin de convertir des dates dans un format du genre "06-234", qui correspond au 234ème jour de l'année 2006 en "22 août 2006" pour qu'il soit facilement lisible, j'ai donc créé une fonction pour ça. Je la partage en espérant que quelqu'un d'autre en aura besoin !
Je suis encore débutant en PHP, et c'est la 1er fonction que je poste, c'est pourquoi le code n'est peut-être et surement pas optimisé à son maximum, et j'attend donc vos critique (bonne comme mauvaise) pour m'aider.
Merci

Source / Exemple :


function jour_annee($jour, $annee)
{
  if ($jour >= 1 AND $jour <= 366)
  {
    for ($i = 0; $i <= $annee; $i=$i+4)
	{
	  if ($i == $annee)
	  {
	    $fevrier = 29;
	  }
	   else
	   {
	    $fevrier = 28;
	   }
	}
	$janvier = 31;
	$fevrier = $janvier + $fevrier;
	$mars = $fevrier + 31;
	$avril = $mars + 30;
	$mai = $avril + 31;
	$juin = $mai + 30;
	$juillet = $juin + 31;
	$aout = $juillet + 31;
	$septembre = $aout + 30;
	$octobre = $septembre + 31;
	$novembre = $octobre + 30;
	$decembre = $novembre + 31;
    switch ($jour)
		{
		  case $jour >= 1 AND $jour <= 31:
		  $mois = 'janvier';
		  break;
		  case $jour >= $janvier + 1 AND $jour <= $fevrier:
		  $mois = 'fevrier';
		  $jour = $jour - $janvier;
		  break;
		  case $jour >= $fevrier + 1 AND $jour <= $mars:
		  $mois = 'mars';
		  $jour = $jour - $fevrier;
		  break;
		  case $jour >= $mars + 1 AND $jour <= $avril:
		  $mois = 'avril';
		  $jour = $jour - $mars;
		  break;
		  case $jour >= $avril + 1 AND $jour <= $mai:
		  $mois = 'mai';
		  $jour = $jour - $avril;
		  break;
		  case $jour >= $mai + 1 AND $jour <= $juin:
		  $mois = 'juin';
		  $jour = $jour - $mai;
		  break;
		  case $jour >= $juin + 1 AND $jour <= $juillet:
		  $mois = 'juillet';
		  $jour = $jour - $juin;
		  break;
		  case $jour >= $juillet + 1 AND $jour <= $aout:
		  $mois = 'aout';
		  $jour = $jour - $juillet;
		  break;
		  case $jour >= $aout + 1 AND $jour <= $septembre:
		  $mois = 'septembre';
		  $jour = $jour - $aout;
		  break;
		  case $jour >= $septembre + 1 AND $jour <= $octobre:
		  $mois = 'octobre';
		  $jour = $jour - $septembre;
		  break;
		  case $jour >= $octobre + 1 AND $jour <= $novembre:
		  $mois = 'novembre';
		  $jour = $jour - $octobre;
		  break;
		  case $jour >= $novembre + 1 AND $jour <= $decembre:
		  $mois = 'decembre';
		  $jour = $jour - $novembre;
		  break;
		}
  }
  $date_converti = $jour . " " . $mois . " " . $annee;
  return $date_converti;
}

Conclusion :


Si vous avez des propositions pour l'améliorer n'hésitez pas ;)

A voir également

Ajouter un commentaire Commentaires
Messages postés
228
Date d'inscription
jeudi 1 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2009

en fait sa sert a quoi? -> la sources (de quoi d'autre)

les timestamps et les fonctions qui vont avec -> les timestamps c'est tout ce qui est le temps (en gros)

existe non? -> veut dire qu'elle sont la pour quelque chose.

Toi comprendre francais sinon toi probleme comprendre
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
14
Dans ce cas, tu poses ta question en Français, car moi pas comprendre
Messages postés
228
Date d'inscription
jeudi 1 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2009

dsl mais c'est hors sujet. le manuel a rien a voir. SUffit de regarder le premier commentaire:

>>>en fait sa sert a quoi? les timestamps et les fonctions qui vont avec existe non? <<<
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
14
Toutes les réponses à tes problèmes existenciels avec php ici :
http://www.php.net/manual/fr/
Messages postés
228
Date d'inscription
jeudi 1 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2009

qq peut me repondre
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.