PHP:如何在上周获得一天?

时间:2016-02-24 19:35:10

标签: php

有没有一种简单的方法可以获得上周的比赛,比如星期一?如果今天是星期二,我不希望昨天的星期一。相反,我想要8天前的星期一(上周的星期一)。然后我想要星期一的星期天。基本上,我试图获取上周,周一到周日的日期范围。

这并不总是正常的:

date('Y-m-d', strtotime('last Monday')

建议?

2 个答案:

答案 0 :(得分:3)

您可以使用“本周”格式:

$monday = strtotime( 'this week', strtotime( '7 days ago' ) );
$sunday = strtotime( '+ 6 days', $monday  );

eval.in demo

“this_week”返回前一周的星期一,然后 - 增加6天 - 您获得相对星期一的星期一。

答案 1 :(得分:1)

strtotime函数接受当前日期作为参数。

http://php.net/manual/en/function.strtotime.php

只需传递strtotime('last Sunday')作为参数即可获得上一整周的工作日。

$beginning_of_week = strtotime('last Sunday');
$result = date('Y-m-d', strtotime('last Monday', $beginning_of_week));

echo $result;