Obtenir le numéro de semaine de l'année en JavaScript

Subodh Poudel 12 octobre 2023
  1. Utilisez les fonctions getFullYear() et getDay() avec l’objet new Date() pour obtenir le numéro de semaine de la date actuelle
  2. Utilisez la structure de données DateTime et ses propriétés weekNumber de Luxon pour obtenir le numéro de semaine en cours de l’année
Obtenir le numéro de semaine de l'année en JavaScript

Nous allons introduire une méthode pour trouver le numéro de semaine en cours de l’année en JavaScript, en créant l’objet du constructeur new Date() et les fonctions comme getFullYear() et getDay(). Cette méthode trouvera le nombre total de jours de l’année et trouvera le numéro de la semaine. Nous utiliserons les fonctions de l’objet Math comme floor() et ceil() dans cette méthode.

Cet article présentera également une autre méthode pour obtenir le numéro de la semaine en cours en JavaScript à l’aide d’un wrapper javascript Luxon. Luxon est une bibliothèque de dates et d’heures JavaScript. Nous utiliserons la structure de données DateTime et la propriété weekNumber de cette bibliothèque. Nous utiliserons également la fonction now avec la structure de données DataTime.

Nous allons également démontrer une méthode pour déclarer une variable globale en PHP à l’aide de la fonction define(). Cette méthode est un moyen de déclarer une variable globale constante en PHP. La valeur de la variable ne peut pas être modifiée ultérieurement.

Utilisez les fonctions getFullYear() et getDay() avec l’objet new Date() pour obtenir le numéro de semaine de la date actuelle

Cette méthode utilise le constructeur new Date() et son objet ainsi que les fonctions telles que getFullYear() et getDay() pour obtenir le numéro de semaine en cours de l’année. L’objet Date renvoie la date courante. La fonction getDay() trouve le jour de la semaine en cours dans une valeur entière. Nous pouvons créer un objet du constructeur Date pour obtenir la date actuelle. L’objet appelle la fonction getFullYear() pour obtenir le début de l’année en cours. Nous pouvons trouver le nombre total de jours depuis le début de la journée jusqu’à l’heure actuelle en divisant la différence de jours par le nombre total de millisecondes dans une journée. Nous pouvons utiliser la fonction floor() de l’objet Math pour arrondir la valeur pour obtenir un nombre entier. Cette méthode calcule enfin le numéro de semaine de l’année, en divisant le nombre total de jours par sept.

Par exemple, créez un objet Date currentdate. Créez une autre variable, oneJan, pour stocker le premier jour de l’année en cours. Pour cela, créez un nouvel objet Date sur la variable et appelez la fonction getFullYear() avec l’objet currentdate comme premier paramètre du constructeur Date. Utilisez 0 et 1 comme deuxième et troisième paramètre. Soustrayez la variable oneJan de currentdate et divisez-la par 86400000. Enveloppez les opérations dans la fonction Math.floor() et affectez-la à une variable numberOfDays. Appelez la fonction getDay() avec l’objet currentdate et ajoutez-y la variable numberOfDays et la valeur 1. Enveloppez cette opération avec la fonction Math.ceil() et stockez le résultat dans la variable result. Connectez-vous la variable dans la console avec la variable currentdate en utilisant l’interpolation de chaîne.

L’exemple ci-dessous trouve la date du jour puis le premier jour de l’année en cours. Les paramètres 0 et 1 de la deuxième ligne représentent le premier mois et le premier jour de l’année en cours. La soustraction du oneJan de la currentdate donne la valeur en millisecondes, de sorte que le total des millisecondes dans une journée qui est 86400000 divise la différence. La fonction getDay() renvoie le jour sous forme d’entier commençant par 0, donc on ajoute 1. Par conséquent, le numéro de la semaine en cours est calculé.

Exemple de code :

currentdate = new Date();
var oneJan = new Date(currentdate.getFullYear(), 0, 1);
var numberOfDays = Math.floor((currentdate - oneJan) / (24 * 60 * 60 * 1000));
var result = Math.ceil((currentdate.getDay() + 1 + numberOfDays) / 7);
console.log(
    `The week number of the current date (${currentdate}) is ${result}.`);

Production:

The week number of the current date (Tue May 25 2021 16:55:53 GMT+0545 (Nepal Time)) is 21.

Utilisez la structure de données DateTime et ses propriétés weekNumber de Luxon pour obtenir le numéro de semaine en cours de l’année

Nous pouvons utiliser la bibliothèque Luxon pour obtenir le numéro de semaine en cours de l’année avec la structure de données DateTime et la propriété weeknumber. Le DateTime se compose d’un horodatage, d’un fuseau horaire et de propriétés de configuration. La DateHeure utilisée avec la fonction maintenant renverra la date et l’heure de l’instant courant dans le fuseau horaire du système. La propriété weekNumber accède au numéro de semaine de l’année en cours. Nous pouvons utiliser la fonction toISO() pour convertir le DateTime au format ISO.

Importez l’objet DateTime du fichier luxon/src/datetime.js dans la première ligne. N’oubliez pas de télécharger le code source Luxon. Enregistrez le code source dans un fichier JavaScript et assurez-vous d’inclure le fichier en utilisant la balise script dans la section HTML. Appelez la fonction now() avec l’objet DateTime puis appelez la propriété weekNumber. Affectez-le à une variable date. Ensuite, enregistrez la variable date dans la console. Veuillez consulter la Documentation Luxon pour en savoir plus sur les objets et propriétés DateTime.

Exemple de code :

import DateTime from 'luxon/src/datetime.js'
const date = DateTime.now().weekNumber
console.log(`The current week number is ${date}`)

Production:

The current week number is 21
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Article connexe - JavaScript DateTime