碳返回错误的日期错误

时间:2017-04-17 21:52:32

标签: php laravel date datetime php-carbon

我在Laravel应用程序中使用php gzip.GZipFile包来操作我的日期。在尝试生成日期(未来x天)时,我有一些奇怪的结果

请看一下这段代码:

$start_date = Carbon::tomorrow('Europe/London');
$end_date = $start_date->addDays($tier->duration_days);
Log::debug('Carbon::now(): '.Carbon::now());
Log::debug('Carbon::tomorrow(Europe/London): '.Carbon::tomorrow('Europe/London'));
Log::debug('$start_date: '.$start_date);
Log::debug('$end_date: '.$end_date);

上面的代码将打印出以下调试行:

  

2017-04-17 21:46:31] local.DEBUG:Carbon :: now():2017-04-17 21:46:31
  [2017-04-17 21:46:31] local.DEBUG:Carbon ::明天(欧洲/伦敦):   2017-04-18 00:00:00 [2017-04-17 21:46:31] local.DEBUG:$ start_date:   2017-05-16 00:00:00 [2017-04-17 21:46:31] local.DEBUG:$ end_date:   2017-05-16 00:00:00

使用Carbon :: tomorrow()将打印出正确的日期,但是使用$ start_time技术上使用相同的函数会返回错误的日期。 有人可以告知这里可能出现的问题吗?

仅供参考我在我的config/app.php档案中将欧洲/伦敦设为我的时区。

1 个答案:

答案 0 :(得分:3)

in实际上并没有返回添加了天数的实例,它在修改天数后会返回相同的实例(这会产生很大的差异)。

因此,您应首先将日期复制到新实例中,然后添加日期。

$date->addDays