Laravel-日期变量不保持其原始值

时间:2018-11-06 02:21:02

标签: laravel

这是我实际代码的粗略示例:

$start_date = '01/02/2003';

for($i=1 ; $i<3 ; $i++){

$expiration_date = $start_date->addMonth(12);

}

dump($expiration_date ); //outputs 01/02/2005
dd($start_date); //outputs 01/02/2005

我的问题是,为什么我的start_date变量也与expiration_date变量相同?

我需要循环结束时的开始日期,以保持其原始值为2003年2月2日。

1 个答案:

答案 0 :(得分:3)

对Carbon对象运行addMonth方法时,它将更新对象本身。 这是您需要做的:

$expiration_date = $start_date->copy()->addMonth(12);

copy创建一个新的Carbon对象

签出documentation