Datetime 为什么在添加天数时日期变量会发生变化?
我想显示2个日期:今天和7天,因此我有:Datetime 为什么在添加天数时日期变量会发生变化?,datetime,zend-framework,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年2月1日至2014年2月8日 但我得到: 2014年2月8日至2014年2月8日 为什么$date1会
$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年2月1日至2014年2月8日
但我得到:
2014年2月8日至2014年2月8日
为什么$date1会随$date2发生变化,以及如何从第一个日期获取第二个日期?Zend_date的
add
是一种变异操作,即,add
更改原始日期,而不是只返回一个新的日期,并添加偏移量
你所能做的就是简单地创建一份原始日期的副本并添加到其中
$date1 = new Zend_Date(); //assume today is 01/02/2014
$date2 = new Zend_Date($date1);
$date2->add(7, Zend_Date::DAY);
谢谢第一次复制,然后添加,而不是直接从源代码计算日期,感觉是不必要的工作。无论如何,这是有效的。