thewilkybarkid / date-time-immutable
Polyfill for the DateTimeImmutable class added in PHP 5.5.0
Installs: 1 994
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 2
Requires
- php: >=5.2.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2022-02-01 12:27:59 UTC
README
This small library adds a polyfill for the DateTimeImmutable
object introduced in PHP 5.5.0.
Authors
- Chris Wilkinson
It's partially based on Benjamin Eberlei's Immutable DateTime Objects blog post.
Installation
$ php composer.phar require thewilkybarkid/date-time-immutable:~1.0
Basic usage
$dateTime = new DateTimeImmutable();
$newDateTime = $datetime->modify('+1 day');
var_dump($dateTime === $newDateTime); // output 'bool(false)'
Caveats
PHP 5.5.0 also introduced a DateTimeInterface
which both DateTimeImmutable
and DateTime
implement. In this polyfill we can't change the DateTime
class, so DateTimeImmutable
has to extend it. This is slightly dangerous as their behaviour is not compatible (see https://bugs.php.net/bug.php?id=64513).
PHP 5.6.0 added a DateTimeImmutable::createFromMutable()
factory method, which this polyfill doesn't include.