Informations :
Dates
- Publish : : Friday 10 july 2020
- Modification : Friday 10 july 2020
- 460 views
Share :
J'ai fais une fonction PHP qui ne sert à rien puisqu'il y a une commande PHP pour vérifier si une année est bisextile.
Règle actuelle pour savoir si une année est bisextile
Depuis l'ajustement du calendrier grégorien, l'année n'est bissextile (comportant 366 jours) que dans l'un des deux cas suivants :
- si l'année est divisible par 4 et non divisible par 100 ;
- si l'année est divisible par 400 ("divisible" signifie que la division donne un nombre entier, sans reste).
Sinon, l'année n'est pas bissextile : elle a la durée habituelle de 365 jours (elle est dite année commune).
Le script que j'ai écris est le suivant (pour ma compréhension personnelle) :
Script avec 23 lignes
001function bisextile($year) {
002003
//$value_php = date("L", mktime(0, 0, 0, 1, 1, $year));
004005
// Soit divisible / 4 (doit retourner un entier) et non divisible / 100
006$value_4 = $year / 4;
007$value_100 = $year / 100;
008009
// Soit divisible / 400 (doit retourner un entier)
010$value_400 = $year / 400;
011012
// On verifie
013$value = 0;
014015
$value_1 = is_int($value_4) && is_float($value_100) ? 1 : 0;
016$value_false = is_int($value_4) && !is_float($value_100) ? 1 : $value_1;
017$value_2 = is_int($value_400) ? 1 : 0;
018019
$value = $value_1 == 1 || $value_2 == 1 ? 1 : 0;
020021
return $value;
022023
}
On envoie la commande de cette manière :
Script avec 2 lignes
001# echo bisextile(2024);
002echo bisextile(2100); # Et pourtant ;)
Retourne 0
ou 1
:)
Sinon la commande PHP est la suivante ;)
Script avec 2 lignes
001$year = '2100';
002date("L", mktime(0, 0, 0, 1, 1, $year));
Retourne false
ou true
^^ false
en l'occurrence :) 2100 ne sera pas une année bisextile.
- J'ai fais une page ici qui liste quelques années, milles ans ^^
- PHP.Net : function.date
- WikipediA : Année bissextile