【问题标题】:Two time difference show Error in Laravel CarbonLaravel Carbon 中的两个时差显示错误
【发布时间】:2019-07-11 14:20:31
【问题描述】:

我试图根据员工显示两次之间的差异 迟到或早到办公室。
我尝试像往常一样使用 laravel 使用的 Carbon 程序,例如 diffInMinutes() 或 diffInHours()。
但它会产生一个致命错误,这对我来说是出乎意料的。
注意:Carbon 已经在控制器顶部使用,如下所示:
使用碳\碳;
我也试过用

 protected $dates = ['created_at', 'updated_at','enter_time'];
   $official_Entry_time = Carbon::parse('10:00:00 AM')->format("H:i:s A");
   /* 
     $data->enter_time contain actual entry time. retrieve from database.
    Guess enter time is : $data->enter_time = '12:35:20 PM';
  */
   $Enter_Time = Carbon::parse($data->enter_time)->format("H:i:s A"); 
   $lateOrEarly = $official_Entry_time->diffInMinutes($Enter_Time);
   echo $lateOrEarly; 

我预计输出 22 分钟或其他时间。但它显示'调用字符串上的成员函数 diffInMinutes()'

【问题讨论】:

    标签: laravel php-carbon


    【解决方案1】:

    您将 Carbon 对象格式化为字符串。只需使用 Carbon 对象

    $official_Entry_time = Carbon::parse('10:00:00 AM');
    
    $Enter_Time = Carbon::parse($data->enter_time);
    
    $lateOrEarly = $official_Entry_time->diffInMinutes($Enter_Time);
    
    echo $lateOrEarly; 
    

    【讨论】:

    • 如果这对您有用,请标记为答案。 :)
    【解决方案2】:

    删除format(),然后尝试..它对我有用

     $official_Entry_time = Carbon::parse('10:00:00 AM');
        /* 
          $data->enter_time contain actual entry time. retrieve from database.
         Guess enter time is : $data->enter_time = '12:35:20 PM';
       */
        $Enter_Time = Carbon::parse('12:35:20 PM');
        $lateOrEarly = $official_Entry_time->diffInMinutes($Enter_Time);
        echo $lateOrEarly;
    

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 2022-11-07
      • 1970-01-01
      • 2020-09-17
      • 1970-01-01
      • 2014-06-13
      • 2017-10-20
      • 2018-06-27
      • 2021-09-19
      相关资源
      最近更新 更多