PHP通过向变量日期添加天数来计算未来日期

时间:2010-04-22 16:30:59

标签: php math date

我正在看这篇文章,它接近我需要的东西: PHP - How to count 60 days from the add date

但是,在该帖子中,通过在当前日期添加60天来执行计算。我需要做的是根据变量日期(而不是当前日期)计算日期。

这样的事情:

$my_date = $some_row_from_a_database;
$date_plus_10_days = ???;

任何人都知道怎么做?

由于

6 个答案:

答案 0 :(得分:27)

您可以在“+10天”部分之前放置一些内容:

strtotime("2010-01-01 +10 days");

答案 1 :(得分:6)

使用date_add

http://www.php.net/manual/en/datetime.add.php

$my_date = new DateTime($some_row_from_a_database);
$date_plus_10_days = date_add($my_date, new DateInterval('P10D'));

答案 2 :(得分:2)

date('Y-m-d H:i:s', strtotime("2014-11-24 06:33:39" +35 days"))

这将以定义的格式获得计算日期。

答案 3 :(得分:2)

你必须调查strtotime()。我想你的最终代码看起来像这样:

$dateVariable      = strtotime('2017-01-29');//your date variable goes here
$date_plus_60_days = date('Y-m-d', strtotime('+ 60 days', $dateVariable));
echo $date_plus_60_days;

如果你使用PHP> = 5.2我强烈建议你使用新的DateTime对象。例如,如下所示:

$date_plus_60_days = new DateTime("2006-12-12");
$date_plus_60_days->modify("+60 days");
echo $date_plus_60_days->format("Y-m-d");

答案 4 :(得分:1)

我看到你正在从数据库中检索数据。 如果您使用的是mysql,可以在select:

上进行

示例:您需要表格的最后日期和此日期 - 7天

select max(datefield) as ultimaf, DATE_SUB(max(datefield),INTERVAL 7 DAY) as last7
from table

如果你想要今天的日期,很容易使用curdate()。

如果你需要一个选择最近7天计数的动态:

select count(*) from table
where DATE_SUB(CURDATE(),INTERVAL 7 DAY)<=datefield"

答案 5 :(得分:0)

假设今天的日期是

date_default_timezone_set('Asia/Calcutta');
$today=date("Y-m-d");

我可以在当前日期添加10天,如下所示:

$date_afte_10_days = date('Y-m-d', strtotime("$today +10 days"));