PHP:如何获取过去特定日期的前一个星期日..?

pni*_*ols 18 php date datepicker

我正在从数据库中检索具有与之关联的日期的条目.

我希望能够获得上一个星期日和下一个星期六相对于该特定日期来填充jQuery日期选择器.

我知道如何用实际的时间/日期来做:

strtotime('last Sunday')
Run Code Online (Sandbox Code Playgroud)

但我不知道如何做到现在以外的约会...

谢谢.

lee*_*ers 46

使用第二个参数strtotime指定计算"上周日"的日期和其他相对日期:

strtotime('last Sunday', strtotime('09/01/2010'));
Run Code Online (Sandbox Code Playgroud)

http://us2.php.net/strtotime

例:

echo date('m/d/Y', strtotime('last Sunday', strtotime('09/01/2010')));
Run Code Online (Sandbox Code Playgroud)

输出:

08/29/2010
Run Code Online (Sandbox Code Playgroud)

  • 不需要两次调用[strtotime](http://php.net/manual/en/function.strtotime.php),它可以像`echo date('m/d/Y',strtotime("last sunday) 09/01/2010" ));` (4认同)

Jer*_*emy 18

您也可以使用datetime类来执行此操作.下面的代码可以工作:

$date = new DateTime('09/01/2010');
$date->modify('last Sunday');
echo $date->format('d/m/Y');
Output: 29/08/2010
Run Code Online (Sandbox Code Playgroud)

看看http://ca2.php.net/manual/en/class.datetime.php.构造函数接受两个可选参数,第一个是对象的日期字符串(默认为now),第二个是DateTimeZone对象(默认为PHP.ini中设置的时区).然后,modify方法使用strtotime()支持的相同表达式更改日期,格式方法使用与date()相同的格式字符串格式化日期.基本上这与pygorex1的示例相同,但使用面向对象的语法.