note 128990 added to datetimeimmutable.getlasterrors
| From: | _mittens at main dot php dot net | Date: | Wed, 01 Nov 2023 02:28:57 +0000 |
| Subject: | note 128990 added to datetimeimmutable.getlasterrors | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-220946@lists.php.net to get a copy of this message | ||
If you are curious as to when the internal array gets resetted (from https://onlinephp.io/c/3ee35):
<?php
$date0 = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-31-31');
var_dump($date0->format('c')); // 2022-07-31T00:00:00+00:00
foreach(range(0,2) as $_)
// The internal error won't reset
var_dump( join(DateTimeImmutable::getLastErrors()['warnings']) ); // The parsed date
was invalid
$date1 = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-12-31');
var_dump($date1->format('c')); // 2020-12-31T00:00:00+00:00
// The internal error did reset
var_dump( empty(DateTimeImmutable::getLastErrors()['warnings']) ); // true
$date2 = DateTimeImmutable::createFromFormat('!Y-m-d', '2020-31-31');
var_dump( join(DateTimeImmutable::getLastErrors()['warnings']) ); // The parsed date was
invalid
$date3 = new DateTimeImmutable('2023-12-31T00:00:00.000000Z');
// The internal error did reset
var_dump( empty(DateTimeImmutable::getLastErrors()['warnings']) ); // true
?>
Output:
string(25) "2022-07-31T00:00:00+00:00"
string(27) "The parsed date was invalid"
string(27) "The parsed date was invalid"
string(27) "The parsed date was invalid"
string(25) "2020-12-31T00:00:00+00:00"
bool(true)
string(27) "The parsed date was invalid"
bool(true)
----
Server IP: 45.112.84.4
Probable Submitter: 45.91.157.134 (proxied: 51.75.70.27)
----
Manual Page -- https://php.net/manual/en/datetimeimmutable.getlasterrors.php
Edit -- https://main.php.net/note/edit/128990
Del: integrated -- https://main.php.net/note/delete/128990/integrated
Del: useless -- https://main.php.net/note/delete/128990/useless
Del: bad code -- https://main.php.net/note/delete/128990/bad+code
Del: spam -- https://main.php.net/note/delete/128990/spam
Del: non-english -- https://main.php.net/note/delete/128990/non-english
Del: in docs -- https://main.php.net/note/delete/128990/in+docs
Del: other reasons-- https://main.php.net/note/delete/128990
Reject -- https://main.php.net/note/reject/128990
Search -- https://main.php.net/manage/user-notes.php