获得一周前的datetime

时间:2014-04-30 00:51:28

标签: php datetime

我希望获得一周前的日期时间,以便在查询中使用它。所以我已经完成了:

$date = new DateTime();
$date->sub(new DateInterval('P7D'));
$date = $date->format('Y-m-d H:i:s');

但由于某种原因,这是行不通的。我知道我做错了什么?

1 个答案:

答案 0 :(得分:13)

DateTime::sub()返回一个新的DateTime对象。它根本不会改变原始对象。

$date = new DateTime();
$newdate = $date->sub(new DateInterval('P7D'));
$date = $newdate->format('Y-m-d H:i:s');

Demo

如果你想这样做更简单一点:

$date = new DateTime('-1 week');
$date = $date->format('Y-m-d H:i:s');

Demo