Convertir un nombre en jour de l'année

Soyez le premier à donner votre avis sur cette source.

Snippet vu 28 533 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

Sannazzarotiti
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
cs_jeca
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12
Dans ce cas, tu poses ta question en Français, car moi pas comprendre
Sannazzarotiti
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? <<<
cs_jeca
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12
Toutes les réponses à tes problèmes existenciels avec php ici :
http://www.php.net/manual/fr/
Sannazzarotiti
Messages postés
228
Date d'inscription
jeudi 1 septembre 2005
Statut
Membre
Dernière intervention
12 avril 2009

qq peut me repondre

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.