gpaddis / timeslot
A PHP library for managing timeslots.
v0.2
2017-09-22 14:13 UTC
Requires
- nesbot/carbon: ^1.22
Requires (Dev)
- phpunit/phpunit: ^6.3
This package is not auto-updated.
Last update: 2024-09-22 08:58:03 UTC
README
A simple yet flexible timeslot management API.
Warning: this library is in development and might change significantly before v1.0 is released.
Timeslot uses Carbon to manage date and time.
You can create a new timeslot passing it a Carbon instance, a DateTime instance or a valid datetime string instead. The complete syntax is new Timeslot($start, $hours, $minutes)
. Fluent methods, getters and setters are available as well.
To get started, read the documentation in the library wiki.
Examples
// Create a 30-minutes timeslot from a string starting at 15:00 $timeslot = new Timeslot('2017-08-19 15:00:00', 0, 30); // Get its start and end time as datetime strings (Carbon) $timeslot->start()->toDateTimeString(); // 2017-08-19 15:00:00 $timeslot->end()->toDateTimeString(); // 2017-08-19 15:29:59 // Create a TimeslotCollection based on the $timeslot, containing 4 timeslots $collection = TimeslotCollection::create($timeslot, 4); // A TimeslotCollection has a start and end time as well... $collection->start()->toDateTimeString(); // 2017-08-19 15:00:00 $collection->end()->toDateTimeString(); // 2017-08-19 16:59:59 (2 hours later) // ...and you can get the single timeslots if you want. $collection->get(1)->start()->toDateTimeString(); // 2017-08-19 15:30:00 (second timeslot in the collection)
Check the wiki for a full description of all available methods.