查找一个月中的周数iphone

问题描述:

如何查找一个月内有多少周数,即一个月有4周还是5周,以及如何从当前提供的日期计算。查找一个月中的周数iphone

感谢

+1

一个月永远不会有整整5个星期。最大的月份(31天)是4周和3天。最小的月份(28天)恰好是4周。所以每个月至少有4周的时间,从来没有5周的时间。也许你的问题需要更多关于你真正想要计算的细节......你的意思是计算一个月内“星期一”的数量吗? – 2012-01-13 02:00:47

+0

我需要在图表上显示几周,所以如果有更多的4周,即4周和3天,那么也需要显示为图表上的第5周。我从http://stackoverflow.com/questions/1805687/number-of-weeks-in-month获得了解决方案,在那里我可以传递第一个日期和最后一个月的日期,并且日期组件将提供我个月的周数 – 2012-01-13 02:04:10

对于iPhone参见:Number of weeks in month对于web/JavaScript的,请参阅:Get Weeks In Month Through Javascript。算法简单(从上面的页面):

function weekCount(year, month_number) { 

    // month_number is in the range 1..12 

    var firstOfMonth = new Date(year, month_number-1, 1); 
    var lastOfMonth = new Date(year, month_number, 0); 

    var used = firstOfMonth.getDay() + lastOfMonth.getDate(); 

    return Math.ceil(used/7); 
} 
+0

CEIL (number_of_days/7)不会给出正确的结果。它不仅仅是将一个月中的天数除以7.请阅读每月的每周部分:http://en.wikipedia.org/wiki/ISO_week_date – Art 2013-01-30 21:32:05