在 Laravel 中添加迄今为止的天数

gos*_*scs 7 php laravel laravel-5

我是 Laravel 的初学者。我在我的项目中使用 Laravel 5.8。

我有这个代码:

$userPromotionDays = $user->premiumDate; // 2019.08.28
$daysToAdd = 5
Run Code Online (Sandbox Code Playgroud)

如何将 $userPromotionDays 添加到 $daysToAdd (在 Laravel/Carbon 中)?

Rah*_*hul 12

您可以使用自定义格式创建日期,然后使用 Carbon 添加天数。

$date = Carbon::createFromFormat('Y.m.d', $user->premiumDate);
$daysToAdd = 5;
$date = $date->addDays($daysToAdd);
dd($date);
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看详细文档。


Lat*_*san 6

Laravel 使用 nesbot.com 调用的包Carbon,这就是添加天数的方法:

$user->premiumDate->addDays(5);
Run Code Online (Sandbox Code Playgroud)

https://carbon.nesbot.com/docs/#api-addsub

premiumDate仅当您已将该字段转换为模型中的日期字段时,这才有效。

https://laravel.com/docs/5.8/eloquent-mutators#date-mutators


zla*_*tan 5

如果您的日期是 Carbon 实例,您可以像这样将日期添加到您的日期中:

$userPromotionDays->addDays($daysToAdd);
Run Code Online (Sandbox Code Playgroud)

如果您的日期不是 Carbon 实例,请启动它:

$userPromotionDays = Carbon::createFromFormat('Y.m.d', $user->premiumDate);
$userPromotionDays->addDays($daysToAdd);
Run Code Online (Sandbox Code Playgroud)

未经测试,但应该可以工作。