如何使用PHP date()从7天前返回上一个星期日?

时间:2011-01-18 23:05:49

标签: php date strtotime

这是我到目前为止所做的:

$date = date('Y-m-d h:i:s', strtotime('-7 days')); 
$start = date('Y-m-d h:i:s', strtotime($date,'previous Sunday'));

输出$ start时,返回:1969-12-31 06:00:00

我做错了什么?

4 个答案:

答案 0 :(得分:4)

$date需要一个时间戳

$date = strtotime('-7 days'); 
$start = date('Y-m-d h:i:s', strtotime('previous Sunday',$date));

答案 1 :(得分:2)

你的论点是错误的:

date('Y-m-d h:i:s', strtotime('previous Sunday', $date));

修改:此外,您已将$date设为格式化字符串。它需要是一个时间戳,所以你的代码应该是这样的:

$date = strtotime('-7 days'); 
$start = date('Y-m-d h:i:s', strtotime('previous Sunday', $date));

答案 2 :(得分:0)

php doc

date('Y-m-d h:i:s', strtotime('last Sunday', $date));

答案 3 :(得分:0)

如果您的日期不是时间戳,您仍然可以使用strtotime,例如假设您的日期已经过去并且是另一种字符串格式。

$date = '2013-11-10';
$lastsunday = date('Y-m-d',strtotime($date.' last Sunday'));

这可以节省一些时间,让您的日期变成“有效”的格式