Maison > interface Web > js tutoriel > Comment obtenir le numéro de semaine ISO-8601 en JavaScript ?

Comment obtenir le numéro de semaine ISO-8601 en JavaScript ?

Barbara Streisand
Libérer: 2024-12-06 08:20:13
original
983 Les gens l'ont consulté

How to Get the ISO-8601 Week Number in JavaScript?

Comment obtenir le numéro de semaine ISO-8601 en JavaScript

Pour déterminer le numéro de semaine ISO-8601 de l'année, analogue à celui de PHP date('W'), envisagez l'approche suivante :

Référez-vous aux ressources de Merlyn's site Web :

  • [Travailler avec Weeks](https://www.merlyn.org/js-date6.htm#YWD)

Ce code JavaScript illustre le concept :

/*
 * Calculates the ISO week number for a given date.
 *
 * Algorithm adopted from:
 * https://www.merlyn.org/weekcalc.htm#WNR
 *
 * Input:
 *   d: Date object representing the date to calculate the week number for.
 *
 * Output:
 *   Array containing the year and week number.
 */
function getWeekNumber(d) {
    // Clone the date to avoid modifying the original.
    d = new Date(d.getTime());

    // Set the date to the nearest Thursday by adding 4 days and subtracting the day of the week.
    d.setDate(d.getDate() + 4 - (d.getDay() || 7));

    // Determine the first day of the year.
    const yearStart = new Date(d.getFullYear(), 0, 1);

    // Calculate the number of full weeks between the current date and the first day of the year.
    const weekNo = Math.ceil(((d - yearStart) / 86400000 + 1) / 7);

    // Return the year and week number in an array.
    return [d.getFullYear(), weekNo];
}

// Example:
const result = getWeekNumber(new Date());
console.log(`Current week: ${result[1]} of year ${result[0]}`);
Copier après la connexion

En utilisant ce code, vous pouvez obtenir le numéro de semaine ISO-8601 actuel du année, qui représente les semaines commençant le lundi, similaire à la fonctionnalité fournie par date('W') de PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal