获取日期之间的差异 - laravel php

时间:2018-04-23 16:33:58

标签: php laravel

我想知道自创建帐户以来的天数。我做的是,我采取日期用户是从当前日期创建(create_at)(碳::今天)但我得到一个错误

  
    

类Carbon \ Carbon的对象无法转换为int

  
 $get_reg_date = auth()->user()->created_at->toDateString();

         $num_of_days = 2;

         $two_days_after =  Carbon::parse($get_reg_date) - Carbon::today();

         return $two_days_after;

我怎样才能实现这一目标?

3 个答案:

答案 0 :(得分:3)

您可以使用diffInDays执行此操作。 created_at时间戳应该已经是Carbon实例,因此您可以这样做:

$days_since_created = Carbon::now()->diffInDays(auth()->user()->created_at);

答案 1 :(得分:0)

您可以改为使用diffInDays()

auth()->user()->created_at->diffInDays() //by default uses today if none is passed

//otherwise
$the_day = Carbon::parse('yesterday');
auth()->user()->created_at->diffInDays($the_day);

为您提供差异的绝对值(非负值)。由你决定。

请注意Carbon::parse('today')->diffInDays(Carbon::parse('tomorrow'))会给你一天的时间,所以如果按天数计算,你可能需要观察这个正常行为。

答案 2 :(得分:0)

$daysPassed = Carbon::parse($get_reg_date)->diffInDays(Carbon::now());

我认为这就是你想要的。