循环日历周
Loop through Calendar Weeks
我在 class:
中构建了这个函数
class CalenderWeekHelper {
public static function getCalenderWeek($year = 2016)
{
for ($i=1; $i <= 52; $i++)
{
$from = date("d.m.Y", strtotime("{$year}-W{$i}-1")); //Returns the date of monday in week
$to = date("d.m.Y", strtotime("{$year}-W{$i}-7")); //Returns the date of sunday in week
$weekArray[$i] = array('start' => $from, 'end' => $to);
}
return $weekArray;
}
}
并这样称呼它:
$kw = CalenderWeekHelper::getCalenderWeek(2015);
echo $kw[1]['start']
但它仍然呼应我:
01.01.1970
我只想遍历所有日历周,有人知道如何解决这个问题吗?
关于 strtotime 的正确格式,请参见以下答案:
How to convert week number and year into unix timestamp?
返回的日期是星期一,所以可以加上 6 天得到星期日:
$week = sprintf('%02s', $i); // make sure it is formatted in double figures
$from = date("d.m.Y", strtotime("{$year}W{$week}")); //Returns the date of monday in week
$to = date("d.m.Y", strtotime("{$year}W{$week} +6 days")); //Returns the date of sunday in week
我在 class:
中构建了这个函数class CalenderWeekHelper {
public static function getCalenderWeek($year = 2016)
{
for ($i=1; $i <= 52; $i++)
{
$from = date("d.m.Y", strtotime("{$year}-W{$i}-1")); //Returns the date of monday in week
$to = date("d.m.Y", strtotime("{$year}-W{$i}-7")); //Returns the date of sunday in week
$weekArray[$i] = array('start' => $from, 'end' => $to);
}
return $weekArray;
}
}
并这样称呼它:
$kw = CalenderWeekHelper::getCalenderWeek(2015);
echo $kw[1]['start']
但它仍然呼应我:
01.01.1970
我只想遍历所有日历周,有人知道如何解决这个问题吗?
关于 strtotime 的正确格式,请参见以下答案: How to convert week number and year into unix timestamp?
返回的日期是星期一,所以可以加上 6 天得到星期日:
$week = sprintf('%02s', $i); // make sure it is formatted in double figures
$from = date("d.m.Y", strtotime("{$year}W{$week}")); //Returns the date of monday in week
$to = date("d.m.Y", strtotime("{$year}W{$week} +6 days")); //Returns the date of sunday in week