Comment calculer le numéro de semaine d'une date en JavaScript ?

Réponses rédigées par Antoine
Dernière mise à jour : 2022-02-14 15:34:16
Thèmes : date - semaine - javascript
Question

Bonjour, comment faire à partir d'une date pour calculer le numéro de semaine, en JavaScript ?

Réponse

Pour calculer le numéro de semaine qui correspond à une date, en JavaScript, vous pouvez utiliser les méthodes getFullYear() et getDay().

La méthode getFullYear permet d'obtenir l'année de la date en cours.

On calcule ensuite le nombre de jours entre le début d'année et le jour en cours.

Puis on récupère le numéro du jour de la semaine en cours avec la méthode getDay, on y ajoute la valeur 1 car le premier jour de la semaine vaut 0 ; puis on y ajoute également le nombre de jours trouvé précédemment.

On divise ensuite le total par 7 pour obtenir le numéro de la semaine.

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Comment calculer le numéro de semaine d'une date en JavaScript ?</title>
</head>
<body>   
<script>
var date = new Date();
var options = {weekday: "long", year: "numeric", month: "long", day: "2-digit"};
var debutdate = new Date(date.getFullYear(), 0, 1);
var jours = Math.floor((date - debutdate) / (24 * 60 * 60 * 1000));
var numero_semaine = Math.ceil((date.getDay() + 1 + jours) / 7);  
alert("Le numéro de semaine de la date du " + date.toLocaleDateString("fr-FR", options) + " est " + numero_semaine);
</script>
</body>
</html>

Remarque : La méthode Math.ceil permet d'arrondir le résultat.

Remarque : date.toLocaleDateString("fr-FR", options) permet d'afficher la date au format français.