Menentukan Nombor Minggu dalam JavaScript Seperti tarikh PHP('W')
Fungsi tarikh PHP('W') mengira nombor minggu bagi tahun berdasarkan piawaian ISO-8601. Nombor minggu ISO-8601 bermula pada hari Isnin dan berjalan hingga Ahad. Artikel ini menunjukkan cara untuk mencapai kefungsian serupa dalam JavaScript.
Penyelesaian
Tapak web Merlyn menyediakan panduan komprehensif untuk bekerja dengan minggu dalam JavaScript:
Berdasarkan panduan ini, coretan kod berikut mengembalikan minggu ISO-8601 nombor tarikh tertentu:
/* 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]);
Kod ini bergantung pada kaedah UTC untuk mengelakkan isu semasa penjimatan siang dan permulaan tahun tertentu senario. Output memaparkan kedua-dua tahun semasa dan nombor minggu, serupa dengan fungsi tarikh('W') PHP.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Nombor Minggu ISO dalam JavaScript, Sama Seperti `tarikh('W')` PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!