我有一个存储在数组中的日期:
$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;
答案 0 :(得分:4)
并考虑以下更改:
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帮助中找到了这个