PHP DateTime函数返回本周的未来日期


PHP DateTime function returns dates in future for this week

我正在尝试使用以下PHP代码查找"本周"的日期范围:

<?php
    date_default_timezone_set('Europe/London');
    $dateFrom = new DateTime('Monday this week');
    $dateTo = new DateTime('Sunday this week');
    $periodTextFrom = $dateFrom->format('Y/m/d 00:00:00');
    $periodTextTo = $dateTo->format('Y/m/d 23:59:59');
    echo $periodTextFrom.'<br>';
    echo $periodTextTo.'<br>';
?>

如果我今天运行(2015年7月19日星期日),它会给我以下输出:

2015/07/20 00:00:00
2015/07/26 23:59:59

那都是将来的事,而不是"这"周的事。

为什么会这样,我该如何纠正?

这应该可以为您工作:

 $today = getdate();
 $weekStart = $today['mday'] - $today['wday'];
 $weekEnd = $today['mday'] - $today['wday']+6;
 echo "week start:".$today['year']."/".$today['mon'].'/'.$weekStart."'nweek end:".$today['year']."/".$today['mon'].'/'.$weekEnd;