如何用js獲取當年周數(shù)列表以及當前日期是第幾周
獲取當年周數(shù)列表
function getWeekList() { const currentYear = new Date().getFullYear(); const firstDayOfYear = new Date(`${currentYear}-01-01`); const firstThursday = new Date(firstDayOfYear); firstThursday.setDate( firstDayOfYear.getDate() + ((4 - firstDayOfYear.getDay() + 7) % 7) + 1 ); const weekList = []; let currentWeek = 1; while (firstThursday.getFullYear() === currentYear) { weekList.push({ value: currentWeek, text: `第${currentWeek}周` }); firstThursday.setDate(firstThursday.getDate() + 7); currentWeek++; } return weekList; } const weekList = getWeekList(); console.log(weekList); /* 打印結果 [ { value: 1, text: '第1周' }, { value: 2, text: '第2周' }, { value: 3, text: '第3周' }, // ... 其他周數(shù) ] */
該函數(shù)首先獲取當前年份,然后計算出當年第一天所在的星期幾。根據(jù)第一個星期四的日期,計算出當年的周數(shù)。
然后循環(huán)遍歷,將周數(shù)信息添加到 weekList 數(shù)組中并返回。每個元素都是一個對象,包含 value 和 text 屬性。
當前日期是一年中的第幾周
// 獲取當前日期是一年中的第幾周的函數(shù) function getWeekNumber(date) { // 設置 Date 對象的 firstDayOfWeek 為周一 date.setHours(0, 0, 0, 0); // 設置 Date 對象的 firstDayOfYear 為 1 月 1 日 date.setDate(date.getDate() + 4 - (date.getDay() || 7)); // 計算當前日期是一年中的第幾周 const yearStart = new Date(date.getFullYear(), 0, 1); const weekNo = Math.ceil((((date - yearStart) / 86400000) + 1) / 7); return weekNo; } // 獲取當前日期 const currentDate = new Date(); // 獲取當前年份 const currentYear = currentDate.getFullYear(); // 獲取當前日期是一年中的第幾周 const weekNumber = getWeekNumber(currentDate); // 輸出結果 console.log(`${currentYear}年第${weekNumber}周`);
這段代碼首先獲取當前日期,然后通過 getWeekNumber() 函數(shù)計算當前日期是一年中的第幾周。最后輸出結果,格式為 “xx年第xx周”。
注意,這個函數(shù)的實現(xiàn)是基于 ISO 8601 標準的,即一年的第一周從第一個星期四開始計算。如果你需要使用其他定義的周數(shù)計算方式,可以根據(jù)實際需求進行修改。
總結
到此這篇關于如何用js獲取當年周數(shù)列表以及當前日期是第幾周的文章就介紹到這了,更多相關js獲取當年周數(shù)列表內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
javascript高級程序設計第二版第十二章事件要點總結(常用的跨瀏覽器檢測方法)
javascript高級程序設計第二版第十二章事件要點總結(常用的跨瀏覽器檢測方法),需要的朋友可以參考下2012-08-08淺談layui 綁定form submit提交表單的注意事項
今天小編就為大家分享一篇淺談layui 綁定form submit提交表單的注意事項,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10JavaScript實現(xiàn)計數(shù)器基礎方法
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)計數(shù)器的基礎方法2017-10-10
,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下精彩的Bootstrap案例分享 重點在注釋!(選項卡、柵格布局)
這篇文章主要為大家分享了一個精彩的Bootstrap案例,涉及到了選項卡、柵格布局,關鍵重點在注釋,感興趣的小伙伴們可以參考一下2016-07-07微信小程序開發(fā)之map地圖組件定位并手動修改位置偏差
這篇文章主要介紹了微信小程序開發(fā)之map地圖組件,定位,并手動修改位置偏差,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08JavaScript中檢測數(shù)據(jù)類型的四種方法
這篇文章主要給大家分享的是JavaScript中檢測數(shù)據(jù)類型的四種方法,有 typeof、instanceof、constructor、Object.prototype.toString.call(),下面文章詳細介紹內容,需要的小伙伴可以參考一下2022-01-01