This library allows you to handle time down to the millisecond. The point was to also be explicit for every component of dates, this is why every php magic strings have been converted into objects.
All objects are immutable.
composer install innmind/time-continuum
use Innmind\TimeContinuum\{
Clock,
PointInTime,
Format,
};
use Innmind\Immutable\Maybe;
$clock = Clock::live();
$now = $clock->now(); // return an instance of PointInTime
echo $now->toString(); // 2016-10-11T12:17:30.123456+02:00
$epoch = $clock->at(
'1970-01-01T00:00:00.000000+00:00',
Format::iso8601(),
); // Maybe<PointInTime>
Here we reference 2 points in time, the first is the exact moment we call now
down to the microsecond and the second one is the epoch time.
The method at()
accepts any string that is allowed by \DateTimeImmutable
.
Full documentation is available at https://innmind.org/TimeContinuum/.