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

Wie erhalte ich die ISO-Wochennummer in JavaScript?

DDD
DDDOriginal
2024-12-30 16:49:08874Durchsuche

How to Get the ISO Week Number in JavaScript?

Erhalten der Wochennummer in JavaScript wie PHPs date('W')

PHPs date('W')-Funktion gibt die aktuelle ISO-8601-Wochennummer der zurück Jahr, beginnend am Montag. Das gleiche Ergebnis können wir in JavaScript mit dem folgenden Ansatz erzielen:

Verwendung einer externen Bibliothek

Die unter dem folgenden Link verfügbare externe Bibliothek kann zur Berechnung der ISO-Woche verwendet werden Nummer eines bestimmten Datums:

Benutzerdefinierter JavaScript-Code

Alternativ können wir eine benutzerdefinierte JavaScript-Funktion implementieren, um die Wochennummer zu berechnen:

/* For a given date, get the ISO week number
 *
 * Based on information at:
 *
 *    THIS PAGE (DOMAIN EVEN) DOESN'T EXIST ANYMORE UNFORTUNATELY
 *    http://www.merlyn.demon.co.uk/weekcalc.htm#WNR
 *
 * Algorithm is to find nearest thursday, it's year
 * is the year of the week number. Then get weeks
 * between that date and the first day of that year.
 *
 * Note that dates in one year can be weeks of previous
 * or next year, overlap is up to 3 days.
 *
 * e.g. 2014/12/29 is Monday in week  1 of 2015
 *      2012/1/1   is Sunday in week 52 of 2011
 */
function getWeekNumber(d) {
    // Copy date so don't modify original
    d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
    // Set to nearest Thursday: current date + 4 - current day number
    // Make Sunday's day number 7
    d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay()||7));
    // Get first day of year
    var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));
    // Calculate full weeks to nearest Thursday
    var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7);
    // Return array of year and week number
    return [d.getUTCFullYear(), weekNo];
}

var result = getWeekNumber(new Date());
document.write('It\'s currently week ' + result[1] + ' of ' + result[0]);

Nutzung

var date = new Date("2018-01-15");
var weekNumber = getWeekNumber(date);
console.log(weekNumber[1]); // Output: 3

Das obige ist der detaillierte Inhalt vonWie erhalte ich die ISO-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