set days of week using bitwise operators
This commit is contained in:
@@ -16,4 +16,28 @@ class Utils extends Facade
|
||||
|
||||
return $dtF->diff($dtT)->format($format);
|
||||
}
|
||||
|
||||
/**
|
||||
* Bitwise operator for setting days of week to integer field
|
||||
* @param int $datefield initial datefield
|
||||
* @param array $day_enums Array of values from config("enum.days")
|
||||
* @return int
|
||||
*/
|
||||
public static function setDays(int $datefield, array $day_enums) {
|
||||
foreach($day_enums as $day) {
|
||||
$datefield |= $day;
|
||||
}
|
||||
|
||||
return $datefield;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bit check if a day exists within a integer bitfield
|
||||
* @param int $datefield datefield from database
|
||||
* @param int $day_enum Value from config("enum.days")
|
||||
* @return bool
|
||||
*/
|
||||
public static function hasDay(int $datefield, int $day_enum) {
|
||||
return ($datefield & $day_enum) === $datefield;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user