Comment savoir combien de semaine il y a dans 1 an

Résolu
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour je voudrais savoir combien de semaine il y a dans une année.

Avant j'utilisais cette fonction ci mais elle ne marche plus....

$year= date("Y");
$nbsem_max = date ("W",mktime(0,0,0,12,31,$year));
A voir également:

3 réponses

MATHAEVS Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   19
 
52 semaine
19
baladur13 Messages postés 47790 Date d'inscription   Statut Modérateur Dernière intervention   13 684
 
Bonjour,
Années normales 365 jours ==> 365/7 = 52,124
Années bissextiles 366 jours ==> 366/7 = 52,285
donc toujours 52 semaines
Toutefois il peut exister une semaine no 53 (années communes finissant un jeudi ; années bissextiles finissant un jeudi ou un vendredi).
10
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Ceci devrait correspondre à tes besoins

En javascript :
function weeksInYear(year) {
  var d = new Date(year, 11, 31);
  var week = getWeekNumber(d)[1];
  return week == 1? getWeekNumber(d.setDate(24))[1] : week;
}


3
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Et en PHP :
function getIsoWeeksInYear($year) {
    $date = new DateTime;
    $date->setISODate($year, 53);
    return ($date->format("W") === "53" ? 53 : 52);
}
0
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la réponse et pour ton aide.
Peux tu me dire pourquoi le mktime ne marche plus? Déprécié?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Je n'ai pas regardé.
Mais au pire ... il faut déjà regarder au 28 décembre et non le 31 !
Le 31 pouvant tomber en semaine 1 (la norme voulant que la semaine 1 soit la première de l'année ayant au moins 4 jours en janvier
En gros la règle c'est :

Toutes les règles ci-dessous sont équivalentes :
la première semaine avec au moins quatre jours dans la même année civile
la semaine du premier jeudi de l'année civile
la semaine du 4 janvier
la semaine dont le lundi est compris entre le 29 décembre et le 4 janvier


Donc le 31 peut tomber un Lundi ou Mardi ou Mercredi de la semaine 1....
Il ne te donnera donc pas le numéro "max" de semaines en fonction des années.....
Donc le mktime doit encore fonctionner... mais en se référant au 28 décembre (qui tombe forcément la dernière semaine quoi qu'il arrive)
0