我想獲得某個月的星期數 例如:2017年1月,本月的星期數是[52,1,2,3,4,5 ] 那麼如何在數組中獲得上述內容? 謝謝如何獲得當前月份的星期數in.js
-2
A
回答
0
我知道我不應該,但我喜歡這個問題:) 你能改善這個嗎?
function showWeeks(year, month) {
let firstWeek = moment(new Date(year,month,1)).isoWeek();
let lastWeek = moment(new Date(year,month+1,0)).isoWeek();
let out = [firstWeek];
if (firstWeek === 52 || firstWeek === 53) {
firstWeek=0;
}
for (let i = firstWeek+1; i<= lastWeek; i++) {
out.push(i);
}
return out;
}
console.log(showWeeks(2017, 0)); // [52, 1, 2, 3, 4, 5]
console.log(showWeeks(2021, 0)); // [53, 1, 2, 3, 4]
console.log(showWeeks(2017, 11)); // [48, 49, 50, 51, 52]
console.log(showWeeks(1986, 9)); // [40, 41, 42, 43, 44]
0
const firstDayOfMonth = moment(`${ year }-${ month }`, 'YYYY-MM-DD');
const numOfDays = firstDayOfMonth.daysInMonth();
let weeks = new Set();
for(let i = 0; i < numOfDays; i++){
const currentDay = moment(firstDayOfMonth, 'YYYY-MM-DD').add(i, 'days');
weeks.add(currentDay.isoWeek());
}
return Array.from(weeks)
0
所以更有效地:
const firstDayOfMonth = moment(`${ year }-${ month }`, 'YYYY-MM-DD');
let weekIndices = [];
let currentDay = moment(firstDayOfMonth, 'YYYY-MM-DD');
weekIndices.push(currentDay.isoWeek());
while(currentDay.month() === firstDayOfMonth.month()) {
currentDay.add(1, 'weeks');
weekIndices.push(currentDay.isoWeek());
}
return weekIndices;
相關問題
- 1. 如何獲得當前周在php當前月份的數量
- 2. 如何獲得當前日期,月份,年份在斯卡拉
- 3. 如何在Oracle中獲得當前月份的特定日期?
- 4. 如何獲得當前日期,月份和年份的數字格式
- 5. 計算當前年份和當前月份的星期日數量?
- 6. 如何從ISO日期和星期獲得月份
- 7. PHP獲取日期的當前月份
- 8. 如何獲得當前的月份和年份
- 9. 如何獲得當前月份和上個月在Redshift
- 10. SQL - 查詢當前月份前三個星期內的內容
- 11. Excel VBA當前獲得月份
- 12. 如何獲得月的星期日和星期六odoo
- 13. 如何統計任意月份的星期數和星期幾
- 14. 當前日期,當前月份?
- 15. 獲取當前月份和當前年份的天數
- 16. Excel公式獲得月份週數(有星期一)
- 17. 如何在使用java的webdriver中獲得當前月份
- 18. 如何獲取目標c中當前月份的日期?
- 19. 我如何獲得前3個月在JavaScript中使用當前月份?
- 20. VBA當前月份的第一個星期一
- 21. 查找月份中的星期數,月份開始於星期五
- 22. 如何從2日期起獲得月數和月數的所有月份?
- 23. 如何在swift中獲得當前月份字符串:
- 24. 如何在tcl中獲得當前月份?
- 25. 如何在codeigniter中獲得當前月份(翻譯)
- 26. 從當前月份獲取數據
- 27. SQL Server查詢獲得第二個星期四的月份
- 28. 在30天內獲取行,當年是當前年份,月份是當前月份,日期是字符串
- 29. 如何獲取選定月份之前的月份數據
- 30. 如果日期在當前月份之前,則將日期轉換爲當前月份的第一個
更有效: – surewhatever