从PHP中获取日期中月份的周数?
我有一个随机日期数组(不是来自MySQL)。我需要按一周将它们分组为Week1,Week2,依此类推,直到Week5。
我所拥有的是:
$dates = array('2015-09-01','2015-09-05','2015-09-06','2015-09-15','2015-09-17');
我需要的是一个通过提供日期来获取月份的星期数的功能。
我知道可以通过执行操作获得 date('W',strtotime('2015-09-01'));
周号,但是本周号是年份(1-52)之间的数字,但是我只需要一个月的周号,例如,在2015年9月有5周:
- 第1周=第1至第5
- 第2周= 6日至12日
- 第3周= 13日至19日
- 第4周= 20日至26日
- 第5周= 27日至30日
我应该能够通过提供日期来获得Week1
$weekNumber = getWeekNumber('2015-09-01') //output 1;$weekNumber = getWeekNumber('2015-09-17') //output 3;
回答:
我认为这种关系应该是正确的并且派上用场:
Week of the month = Week of the year - Week of the year of first day of month + 1
在PHP中实现,您将获得以下信息:
function weekOfMonth($date) { //Get the first day of the month.
$firstOfMonth = strtotime(date("Y-m-01", $date));
//Apply above formula.
return intval(date("W", $date)) - intval(date("W", $firstOfMonth)) + 1;
}
要获得从星期日开始的几周,只需将都替换date("W", ...)
为strftime("%U", ...)
。
以上是 从PHP中获取日期中月份的周数? 的全部内容, 来源链接: utcz.com/qa/423966.html