Calculating the number of Saturdays and Sundays

前端 未结 7 700
盖世英雄少女心
盖世英雄少女心 2020-12-17 20:23

How can I calculate the number of Saturdays and Sundays between two dates in php?

Is there any inbuilt function for that purpose?

7条回答
  •  抹茶落季
    2020-12-17 20:55

    You can calculate it mathematically like this - Based on Roland's Answer

    private function getNumberOfWeekendDays(\DateTimeInterface $startDate, \DateTimeInterface $endDate): int
    {
        $startNumber = (int) $startDate->format('N');
        $endNumber = (int) $endDate->format('N');
        $daysBetweenStartAndEnd = $endDate->diff($startDate)->d;
    
        $weekendDays = (int) (2 * ($daysBetweenStartAndEnd + $startNumber) / 7);
        $weekendDays = $weekendDays - ($startNumber == 7 ? 1 : 0) - ($endNumber == 7 ?  1 :  0);
    
        return $weekendDays;
    }
    

提交回复
热议问题