如何打印一年中的所有周(或一年中的第一个星期一)

2021-12-29 00:00:00 php zend-framework zend-date

如何打印从星期一开始到星期日结束的所有周..如下所示..使用 Zend_date

How print all the weeks which start with monday and end with sunday.. like below ..using Zend_date

1   04-Jan-2010-10-Jan-2010  
2   11-Jan-2010-17-Jan-2010 
3   18-Jan-2010-24-Jan-2010 

推荐答案

从找到第一个星期一开始,然后您可以添加 1 周直到年份递增.

Start by finding the first monday, then you can just add 1 week until the year increments.

<?php
define('NL', "
");

$year           = 2010;
$firstDayOfYear = mktime(0, 0, 0, 1, 1, $year);
$nextMonday     = strtotime('monday', $firstDayOfYear);
$nextSunday     = strtotime('sunday', $nextMonday);

while (date('Y', $nextMonday) == $year) {
    echo date('c', $nextMonday), '-', date('c', $nextSunday), NL;

    $nextMonday = strtotime('+1 week', $nextMonday);
    $nextSunday = strtotime('+1 week', $nextSunday);
}

相关文章