如何从今天(PHP)开始计算并获得过去的日期(例如3周前)

时间:2011-01-01 19:23:31

标签: php date

我有一个新闻过滤脚本,我通常使用它来获取当天:

echo date('j n Y');

返回的内容类似于2011年1月1日。我想要做的是能够在一周前返回相对于当前日期/日的日期,以便它返回示例(2010年12月25日),如果我选择获得1一周前。如果我想获得相对于当天的3周前的日期和月份和年份,那么等等。

我不知道那可能吗?鉴于我只需要使用当前的月份和年份来检索过去的日期,我应该能够将过去的日期检索为日期,月份和年份,以便在脚本中使用。

如果我的问题不明确,请告诉我。我道歉。

3 个答案:

答案 0 :(得分:10)

strtotime会在unix时间内给你一个过去的日期,然后您可以将其输入日期函数:

echo date('j n Y', strtotime("-3 weeks"))

答案 1 :(得分:3)

使用DateTime类而不是timestamp。使用php 5.2及以上版本:

$date = new DateTime(); //defaults to the current date/time
echo $date->modify("-3 week")->format("Y-m-d");

该课程还可以处理1970年之前和2038年之后的日期。

答案 2 :(得分:0)

你可以为此目的使用strtotime:

echo date('j n Y',strtotime('-1 week'))