dev-master
9999999-dev https://github.com/xelko/timeslots/Génération de tranches horaires à partir de rÚgles d'ouverture et de fermeture
MIT
The Requires
- php >=5.6.0
The Development Requires
by Denis BICHON
calendar timeslots calendrier horaires
Wallogit.com
2017 © Pedro PelĂĄez
Génération de tranches horaires à partir de rÚgles d'ouverture et de fermeture
Génération de tranches horaires à partir de rÚgles d'ouverture et de fermeture, (*1)
<type de rÚgles>= [<valeur unitaire>] ou [<valeur de début incluse>-<valeur de fin exclue>] [, ...];
periods=480-720,730-910;
days=20160317,20151224,20140125-20140129;
weekdays=0,2,4-6;
birddays=0130,0327,0401-0415;
yeardays=27,42,128-217;
specialdays=easter, easterMonday, ascension, pentecost;
$calendar = new \Xelko\TimeSlots\Calendar();
// aligne sur minuit
$calendar->setMidnightAlignment(true);
// plage de 30 minutes
$calendar->setGranularity(30);
// memorisation des 10 derniers calculs (pour accélération)
$calendar->setCacheSize(10);
// tout les jours de 510 minutes Ă 600 minutes (de 8h30 Ă 10h00)
$calendar->addOpenRules(["periods=510-600"]);
// chaque lundi au vendredi du mois de mars de 480 minutes Ă 720 minutes et 780 minutes Ă 1000 minutes
// ainsi que chaque 15 mai et 17 juin de 480 minutes Ă 1000 minutes
$calendar->addOpenRules([
"wd=1-5;bd=0301-0331;periods=480-720,780-1000",
"bd=0515,0617;periods=480-1000"
]);
// fermeture de 0 à 1440 (toute la journée) (prioritaire sur ouverture) chaque jour de pùques et lundi de Pùques et jour de pentecÎte
// ainsi que chaque 1 janvier, 1 mai, 8 mai, 14 juillet fermé le matin
$calendar->addCloseRules([
"sd=easter,easterMonday,ascension;periods=0-1440",
"bd=0101,0501,0508,0714;periods=0-720"
]);
// récupÚre les périodes d'ouverture du 01 janvier 2014 12:20:00 au 31 décembre 2016 12:20:00
$aixiaperiods = $calendar->getPeriodsOfDays(new \DateTime("2014-01-01 12:20:00"),new \DateTime("2016-12-31 12:20:00"));
// récupÚre les tranches d'horaires d'ouverture valides du 01 janvier 2014 12:20:00 au 31 décembre 2016 12:20:00
$aixiaperiods = $calendar->getTimeSlotsOfDays(new \DateTime("2014-01-01 12:20:00"),new \DateTime("2016-12-31 12:20:00"));
Génération de tranches horaires à partir de rÚgles d'ouverture et de fermeture
MIT
calendar timeslots calendrier horaires