ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で ISO 週番号を取得するにはどうすればよいですか?
JavaScript での週番号の取得 PHP の date('W') と同様に、
PHP の date('W') 関数は、現在の ISO-8601 週番号を返します。月曜日から始まる年。次のアプローチを使用して、JavaScript で同じ結果を得ることができます:
外部ライブラリの使用
次のリンクで利用可能な外部ライブラリを使用して、ISO 週を計算できます。指定された日付の番号:
カスタム JavaScript コード
または、カスタム JavaScript 関数を実装して週を計算することもできます番号:
/* 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]);
使用量
var date = new Date("2018-01-15"); var weekNumber = getWeekNumber(date); console.log(weekNumber[1]); // Output: 3
以上がJavaScript で ISO 週番号を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。