Donner une date , obtener un jour

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 707 fois - Téléchargée 30 fois

Contenu du snippet

Donc , une fonction , qui fait que vous lui donnée une date jj/mm/aaaa sans les zéros initiaux pour les jour et les mois
et la fonction vous retournera le jour de la date et 1 si l'année est bisectile et 0 si elle ne l'est pas
Cette fonction est senser marcher pour nimporte quel date au contraire de /date('D/L') qui ne marche que du Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT

Source / Exemple :


function année($jour, $mois, $année)
 {

  $ssjour = array(
   '0' => 'Vendredi',
   '1' => 'Samedi',
   '2' => 'Dimanche',
   '3' => 'Lundi',
   '4' => 'Mardi',
   '5' => 'Mercredi',
   '6' => 'Jeudi',
   '7' => 'Vendredi',

  );

  $sssbjour = array(
   '1' => '0',
   '2' => '31',
   '3' => '60',
   '4' => '91',
   '5' => '121',
   '6' => '152',
   '7' => '182',
   '8' => '213',
   '9' => '244',
   '10' => '274',
   '11' => '305',
   '12' => '335',
  );

  $sssjour = array(
   '1' => '0',
   '2' => '31',
   '3' => '59',
   '4' => '90',
   '5' => '120',
   '6' => '151',
   '7' => '181',
   '8' => '212',
   '9' => '243',
   '10' => '273',
   '11' => '304',
   '12' => '334',
  );

  $année1 = $année;

  $année100 = ($année1 / 100);
  $année400 = ($année1 / 400);
  $année4 = ($année1 / 4);
  if($année1 <= '0')
  {
   $année400r = round(($année1 / 400)+0.5);
   $année100r = round(($année1 / 100)+0.5);
   $année4r = round(($année1 / 4)+0.5);  
  }
  else
  {
   $année400r = round(($année1 / 400)-0.5);
   $année100r = round(($année1 / 100)-0.5);
   $année4r = round(($année1 / 4)-0.5);
  }
  $annéebxr = ($année4r - $année100r + $année400r); //Nombre d'année bissextile depuis l'an 0000

  if($année4 == $année4r && $année100 != $année100r || $année400 == $année400r) // L'année est elle bissextile ou pas ?
  {
   $annéebissextile = "1"; // Oui
   $nbrmjour = $sssbjour[$mois];
  }
  else
  {
   $annéebissextile = "0"; // Non
   $nbrmjour = $sssjour[$mois];
  }

  $nbrmois = (($année1 * 12) + ($mois - 1)); // Nombre de mois qu'il y a eu depuis l'an 0000

  $nbrjour = ((($année1 * 365) + $annéebxr + ($jour))+ $nbrmjour); // Nombre de jour qu'il y a eu depuis l'an 0000

  $sjour =  $ssjour[($nbrjour - (round(($nbrjour / 7) -0.5)*7))]; 
  
  
  return " $sjour / $annéebissextile "; 
 }

Conclusion :


J'aimerai avoir vos avis sur ce code , me prevenir si vosu rencontre des bugs ...

Merci

A voir également

Ajouter un commentaire Commentaires
NSV Messages postés 8 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 15 juin 2005
15 juin 2005 à 00:43
La première suggestion qui me vient à l'esprit c'est :
Pourquoi géré les années, les mois et les jours en string alors que ce sont typiquement des entiers (enfin des nombres) ?
En somme pourquoi s'embeter avec les '' et autre "".
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
15 juin 2005 à 00:44
Tu as oublié un détail : 2000 était bissextile ! En effet, on considère les passage au siècle comme non bissextile, mais les passage au millénaire le sont, eux !!!
A part ça, rien à dire de mon côté. 7/10 ;-)
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007
15 juin 2005 à 01:14
là ça craint samedi n'a pas de e (Samedie) comme tu l'as ecrit
jfperras Messages postés 69 Date d'inscription vendredi 13 septembre 2002 Statut Membre Dernière intervention 6 mai 2009
15 juin 2005 à 02:59
Dans la même veine que NSV... à part traduire les jours de la semaine, je ne vois pas autre chose.
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
15 juin 2005 à 06:24
règle des années bissextiles :
annee / 4 : OK
annee / 100 : NOK
annee / 400 : OK

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.