我有一个从星期一开始的日历。如何查找从星期一开始的日历的月份周?
2011年5月
----------------------------
Mon Tue Wed Thu Fri Sat Sun
----------------------------
25 26 27 28 29 30 1 week 1
2 3 4 5 6 7 8 week 2
9 10 11 12 13 14 15 week 3
16 17 18 19 20 21 22 week 4
23 24 25 26 27 28 29 week 5
30 31 1 2 3 4 5 week 6
我想找月份的一周给予日期。
下面的工作很好,在星期日开始的日历上。
function getWeekOfMonth(date) {
prefixes = ['1', '2', '3', '4', '5'];
return prefixes[0 | date.getDate()/7];
}
但在我的日历(周一为基础)如果让我选择5月1日,返回值,如果“1”从而 给我"week2"
但它应该是"week1"
。
如果我选择5月15日,给我“week4”而不是“week3”。
它适用于像5月12日这样的事情。
我试图改变这一天的差距(星期一和星期日),并修改了失败的算法。
任何人都可以告诉我如何正确修复我的算法?
function getWeekOfMonth(date) {
prefixes = ['1', '2', '3', '4', '5'];
return prefixes[0 | date.getDate() - 1/7];
}
如果给你week1为may1st又是什么给你的5月2日? – 2011-05-12 07:42:01
5月2日给我week1。因为如果是基于星期日的balendar,则第1到第7将是第1周。 – 2011-05-12 07:44:24
所以week0是第一个非满周? – 2011-05-12 07:48:12