为什么添加天数时日期变量会发生变化?

时间:2014-02-25 11:17:42

标签: datetime zend-framework

我想显示2个日期:今天又添加7天所以我有:

$date1 = new Zend_Date();  //assume today is 01/02/2014
$date2 = new Zend_Date($date1->add(7, Zend_Date::DAY)); 

print $date1 . ' to ' . $date2;

我希望看到(暂时忽略dateformat): 2014年1月2日至2014年2月8日

但我明白了: 2014年8月2日至2014年8月8日

为什么$ date1会更改为$ date2以及如何获取第一个日期派生的第二个日期?

1 个答案:

答案 0 :(得分:2)

Zend_Date的add是一项变异操作,即add更改原始日期,而不是只返回添加了偏移量的新Date

您可以做的只是创建原始Date的副本并添加到其中;

$date1 = new Zend_Date();  //assume today is 01/02/2014
$date2 = new Zend_Date($date1);
$date2->add(7, Zend_Date::DAY);