【问题标题】:find number of weeks in a month iphone查找一个月中的周数 iphone
【发布时间】:2012-01-13 01:55:33
【问题描述】:

如何找出一个月有多少周,即一个月有 4 周或 5 周,如何从提供的当前日期计算得出。

谢谢

【问题讨论】:

  • 一个月不可能有整整5周。最大的月份(31 天)是 4 周零 3 天。最小的月份(28 天)正好是 4 周。所以每个月至少有 4 周,而不是 5 周。也许你的问题需要更多关于你真正想要计算的细节......你的意思是计算一个月中“星期一”的数量吗?
  • 我需要在图表上显示周数,所以如果有超过 4 周,即 4 周和 3 天,那么也需要在图表上显示为 Week5。我从 stackoverflow.com/questions/1805687/number-of-weeks-in-month 得到了解决方案,在那里我可以传递第一个日期和持续月份的日期,日期组件将为我提供月份的几周

标签: iphone nsdate


【解决方案1】:

对于 iPhone,请参阅:Number of weeks in month 对于网络/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);
}

【讨论】:

  • CEIL(number_of_days/7) 不会给出正确的结果。这不仅仅是将一个月的天数除以 7。请在此处阅读每月周数部分:en.wikipedia.org/wiki/ISO_week_date
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-18
  • 2010-12-20
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多