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
890 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!

source:php.cn
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