如何在PHP中用1(日/年)增加日期?

时间:2011-03-21 17:29:03

标签: php

我有一个存储在数组中的日期:

$this->lines['uDate']

日期格式不固定。我可以用这个改变:

  define('DATETIME_FORMAT', 'y-m-d H:i');

如何在一定天数或数年内增加uDate?


我的问题与这个问题有关:
increment date by one month
但是,就我而言,动态的日期格式 那么,我可以这样做吗?

$time= $this->lines['uDate'];
$time = date(DATETIME_FORMAT, strtotime("+1 day", $time));
$this->lines['uDate']= $time;

3 个答案:

答案 0 :(得分:4)

date_add()

并考虑以下更改:

define(DATETIME_FORMAT, 'y-m-d H:i');

$time = date(DATETIME_FORMAT, strtotime("+1 day", $time));

答案 1 :(得分:2)

如果您有时间戳,可以使用一些简单的计算来完成。

$date = strtotime($this->lines['uDate']); //assuming it's not a timestamp\
$date = $date + (60 * 60 * 24); //increase date by 1 day
echo  date('d-m-y', $date);
$date = $date + (60 * 60 * 24 * 365); //increase date by a year
echo  date('d-m-y', $date);

您还可以使用mktime()方法执行此操作:http://php.net/manual/en/function.mktime.php

答案 2 :(得分:2)

function add_date($givendate,$day=0,$mth=0,$yr=0) 
{
      $cd = strtotime($givendate);
      $newdate = date('Y-m-d h:i:s', mktime(date('h',$cd),
    date('i',$cd), date('s',$cd), date('m',$cd)+$mth,
    date('d',$cd)+$day, date('Y',$cd)+$yr));
      return $newdate;
}

我在PHP帮助中找到了这个