<?php
echo (new DateTime('10-01-01'))->format('Y-m-d'), "\n";
echo (new DateTime('010-01-01'))->format('Y-m-d'), "\n";
echo (new DateTime('0010-01-01'))->format('Y-m-d'), "\n";
echo (new DateTime('00010-01-01'))->format('Y-m-d'), "\n";
echo (new DateTime('000010-01-01'))->format('Y-m-d'), "\n";
echo (new DateTime('0000010-01-01'))->format('Y-m-d'), "\n";
echo (new DateTime('00000010-01-01'))->format('Y-m-d'), "\n";
echo (new DateTime('000000010-01-01'))->format('Y-m-d');
2010-01-01
2010-01-01
0010-01-01
2000-01-01
2018-02-22
0000-01-10
-0001-12-10
Fatal error: Uncaught DateMalformedStringException: Failed to parse time string (000000010-01-01) at position 8 (0): Double date specification in /in/VJQiK:10
Stack trace:
#0 /in/VJQiK(10): DateTime->__construct('000000010-01-01')
#1 {main}
thrown in /in/VJQiK on line 10
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
2010-01-01
2010-01-01
0010-01-01
2000-01-01
2018-02-22
0000-01-10
-0001-12-10
Fatal error: Uncaught DateMalformedStringException: Failed to parse time string (000000010-01-01) at position 8 (0): Double date specification in /in/VJQiK:10
Stack trace:
#0 /in/VJQiK(10): DateTime->__construct('000000010-01-01')
#1 {main}
thrown in /in/VJQiK on line 10
Process exited with code 255.
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.18
2010-01-01
2010-01-01
0010-01-01
2000-01-01
2018-02-22
0000-01-10
-0001-12-10
Fatal error: Uncaught Exception: Failed to parse time string (000000010-01-01) at position 8 (0): Double date specification in /in/VJQiK:10
Stack trace:
#0 /in/VJQiK(10): DateTime->__construct('000000010-01-01')
#1 {main}
thrown in /in/VJQiK on line 10
Process exited with code 255.
2010-01-01
2010-01-01
0010-01-01
2000-01-01
2018-02-22
0000-01-10
-0001-12-10
Fatal error: Uncaught Exception: DateTime::__construct(): Failed to parse time string (000000010-01-01) at position 8 (0): Double date specification in /in/VJQiK:10
Stack trace:
#0 /in/VJQiK(10): DateTime->__construct('000000010-01-01')
#1 {main}
thrown in /in/VJQiK on line 10
Process exited with code 255.