format('N'); return in_array($dayOfWeek, [6, 7]); } catch (Exception $e) { // Handle invalid date strings return false; } } public static function GetMonthPlainString($month){ $formatter = new IntlDateFormatter( 'fr_FR', IntlDateFormatter::FULL, IntlDateFormatter::NONE, null, null, 'MMMM' ); $date = DateTime::createFromFormat('!m', $month); $monthString = strtoupper($formatter->format($date)); $normalizedMonth = mb_convert_case($monthString, MB_CASE_UPPER, "UTF-8"); return $normalizedMonth; } public static function GetDateWithFormatDayAndMonthPlainString(string $date){ $dateTime = new DateTime($date); $formattedDate = $dateTime->format('d F'); $formattedDate = str_replace( array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'), array('JANVIER', 'FEVRIER', 'MARS', 'AVRIL', 'MAI', 'JUIN', 'JUILLET', 'AOUT', 'SEPTEMBRE', 'OCTOBRE', 'NOVEMBRE', 'DECEMBRE'), $formattedDate ); return $formattedDate; } public static function GetFullFactureOrDevisNumberByDate($date,$devisNumber,$prefix){ $year = $date->format('y'); $month = $date->format('m'); $devisNumber = str_pad($devisNumber, 2, '0', STR_PAD_LEFT); $devisNumber = $prefix . $year . $month . $devisNumber; return $devisNumber; } public static function GetLastDayOfTheMonthOfADate($datetime){ $datetime->modify('last day of this month'); $lastDay = $datetime; return $lastDay; } public static function getDatesOfMonth($year, $month) { $dates = []; $daysInMonth = self::getDaysCountInAMonthAndYear($month, $year); for ($day = 1; $day <= $daysInMonth; $day++) { $dateString = sprintf("%04d-%02d-%02d", $year, $month, $day); $dates[] = new DateTime($dateString); } return $dates; } public static function getDaysCountInAMonthAndYear($month,$year){ return $month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year % 400 ? 28 : 29))) : (($month - 1) % 7 % 2 ? 30 : 31); } }