Bestimmen der Wochennummer in JavaScript Wie PHPs date('W')
PHPs date('W')-Funktion berechnet die Wochennummer von Das Jahr basiert auf ISO-8601-Standards. Die ISO-8601-Wochennummer beginnt am Montag und läuft bis Sonntag. Dieser Artikel zeigt, wie man eine ähnliche Funktionalität in JavaScript erreicht.
Lösung
Merlyns Website bietet eine umfassende Anleitung zum Arbeiten mit Wochen in JavaScript:
Basierend auf diesem Leitfaden gibt das folgende Codefragment die ISO-8601-Woche zurück Nummer eines bestimmten Datums:
/* For a given date, get the ISO week number * * Based on information at: * * https://www.merlyn.org/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()); console.log('It\'s currently week ' + result[1] + ' of ' + result[0]);
Dieser Code basiert auf UTC-Methoden, um Probleme während der Sommerzeit und bei bestimmten Jahresanfangsszenarien zu vermeiden. Die Ausgabe zeigt sowohl das aktuelle Jahr als auch die Wochennummer an, ähnlich der PHP-Funktion date('W').
Das obige ist der detaillierte Inhalt vonWie berechnet man ISO-Wochenzahlen in JavaScript, genau wie PHPs `date('W')`?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!