diff --git a/reference/datetime/datetimeinterface/serialize.xml b/reference/datetime/datetimeinterface/serialize.xml
index 5615dca18157..0a6934b9b630 100644
--- a/reference/datetime/datetimeinterface/serialize.xml
+++ b/reference/datetime/datetimeinterface/serialize.xml
@@ -43,24 +43,51 @@
&reftitle.examples;
- DateTime::serialize example
+ DateTime::__serialize example
$this->format(DateTimeInterface::W3C),
+ 'timestamp' => $this->getTimestamp(),
+ 'timezone' => $this->getTimeZone()->getName(),
+ 'to' => 'Drink a cup of coffee',
+ ];
+ }
+}
+
+$date = new CustomDateTimeImmutable('2025-03-27');
var_dump(serialize($date));
+
?>
]]>
&examples.outputs;
+
+ &reftitle.notes;
+
+
+ An Error is thrown when attempting to unserialize a custom
+ DateTime object if the __serialize() is
+ defined but the __unserialize() is missing.
+
+
+
+
&reftitle.seealso;
diff --git a/reference/datetime/datetimeinterface/unserialize.xml b/reference/datetime/datetimeinterface/unserialize.xml
index f60f36c4bb9e..d33005a44b91 100644
--- a/reference/datetime/datetimeinterface/unserialize.xml
+++ b/reference/datetime/datetimeinterface/unserialize.xml
@@ -44,19 +44,33 @@
&reftitle.returnvalues;
- The DateTime object.
+ &return.void;
&reftitle.examples;
- DateTime::unserialize example
+ DateTime::__unserialize example
__construct($data['date'], new DateTimeZone($data['timezone']));
+ }
+}
+
+$serializedData = 'O:23:"CustomDateTimeImmutable":4:{s:4:"date";s:25:"2025-03-27T00:00:00+00:00";s:9:"timestamp";i:1743033600;s:8:"timezone";s:3:"UTC";s:2:"to";s:21:"Drink a cup of coffee";}';
+
+var_dump(unserialize($serializedData));
+
?>
]]>
@@ -76,6 +90,17 @@ object(DateTime)#1 (3) {
+
+ &reftitle.notes;
+
+
+ An Error is thrown when attempting to unserialize a custom
+ DateTime object if the __serialize() is
+ defined but the __unserialize() is missing.
+
+
+
+
&reftitle.seealso;