Heim >Web-Frontend >js-Tutorial >Wie erhalte ich die ISO-8601-Wochennummer in JavaScript?

Wie erhalte ich die ISO-8601-Wochennummer in JavaScript?

Barbara Streisand
Barbara StreisandOriginal
2024-12-06 08:20:13890Durchsuche

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

So erhalten Sie die ISO-8601-Wochennummer in JavaScript

Um die ISO-8601-Wochennummer des Jahres zu ermitteln, analog zu PHP date('W'), ziehen Sie den folgenden Ansatz in Betracht:

Beziehen Sie sich auf die Ressourcen bei Merlyn's Website:

  • [Arbeiten mit Wochen](https://www.merlyn.org/js-date6.htm#YWD)

Dieser JavaScript-Code demonstriert das Konzept:

/*
 * 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]}`);

Mit diesem Code können Sie die aktuelle ISO-8601-Wochennummer von erhalten das Jahr, das die montags beginnenden Wochen berücksichtigt, ähnlich der Funktionalität, die PHPs date('W') bietet.

Das obige ist der detaillierte Inhalt vonWie erhalte ich die ISO-8601-Wochennummer in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn