This package is abandoned and no longer maintained. No replacement package was suggested.

Polyfill for the DateTimeImmutable class added in PHP 5.5.0

v2.0.0+alpha1 2015-03-19 12:19 UTC

This package is auto-updated.

Last update: 2022-10-29 02:06:55 UTC


Build Status

This small library adds a polyfill for the DateTimeImmutable object introduced in PHP 5.5.0.


  • Chris Wilkinson

It's partially based on Benjamin Eberlei's Immutable DateTime Objects blog post.


$ 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)'


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

PHP 5.6.0 added a DateTimeImmutable::createFromMutable() factory method, which this polyfill doesn't include.