简体   繁体   中英

Carbon - Laravel - Separate by Days

Look guys , i have two functions.

public function date(){
    
    BusinessTime::enable(Carbon::class);

    BusinessTime::enable(Carbon::class, [
        'sunday' => ['08:00-22:00'],
        'monday' => ['08:00-22:00'],
        'tuesday' => ['08:00-22:00'],
        'wednesday' => ['08:00-22:00'],
        'thursday' => ['08:00-22:00'],
        'friday' => ['08:00-23:59'],
        'saturday' => ['00:00-23:59'],
        'holidaysAreClosed' => true,
      ]);
     
      $options = 0;
      $date1 = Carbon::parse('2020-11-20 20:00')->diffInBusinessHours('2020-11-22 16:00:00', $options);
      $date2 = $this->date2();

      $date3 = $date2 - $date1;

    echo 'Hours In'.round($date1);
    echo '<br>';
    echo 'Horas Out'.round($date3);
    
 }

that return me all the hours , that are inside my range of bussiness hours .

and i have another function that return me all time between two dates .

public function date2(){
   $start = Carbon::create(2020,11,20,20,0,0,'America/Recife');
   $end = Carbon::create(2020,11,22,16,0,0,'America/Recife');
   $options = 0;
    
   return $start->diffInHours($end);
}

but how could i return on fuction date() , for example returne the diffInBusinessHours separate by day , where could be a array of date and hours . its possible ?

Are you using kylekatarnls/business-time ?

If so, have you tried using $carbonDate->getOpeningHours() or Carbon::getOpeningHours() ?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM