Req #76009 [Opn->Csd]: Cant parse v

From: Date: Tue, 26 Oct 2021 11:42:17 +0000
Subject: Req #76009 [Opn->Csd]: Cant parse v
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-237382@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76009&edit=1 ID: 76009 Updated by: cmb@php.net Reported by: rparker at kodama dot design Summary: Cant parse v -Status: Open +Status: Closed Type: Feature/Change Request Package: Date/time related Operating System: Windows PHP Version: 7.1.14 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: *Parsing* v is indeed supported as of PHP 7.3.0, and the changelog[1] has apparently been fixed in the meantime. *Formatting* v is actually supported as of PHP 7.0.0[2]. > This really should be removed from the documentation; it's very > confusing. It is only confusing, if you assume that *parsing* and *formatting* support the same specifiers, what you should not. [1] <https://www.php.net/manual/en/datetime.createfromformat.php#refsect1-datetime.createfromformat-changelog> [2] <https://3v4l.org/p6h59> Previous Comments: ------------------------------------------------------------------------ [2020-06-16 16:44:35] jacob at jacobweber dot com This really should be removed from the documentation; it's very confusing. ------------------------------------------------------------------------ [2019-08-15 06:55:21] php at sirdiego dot de Hey guys, please update the docs accordingly. I was trying stuff like a mad man and thought I was slowly going crazy. I made this test script, that shows that 'v' does NOT work in 7.1 or 7.2 even tho the documentation states that it was added in 7.0. Test: https://3v4l.org/qUpGv Docs: https://www.php.net/manual/en/function.date.php I will have to work around this problem, because the JavaScript Date.toISOString() method returns a string exactly like in the test script, would have been nice to be able to just use it like that. Thanks for all the hard work. ------------------------------------------------------------------------ [2018-06-18 20:52:03] auroraeosrose at gmail dot com This should be changed into a Documentation bug if v is not present in 7.2 - docs say it was added in PHP 7.0.0 currently ------------------------------------------------------------------------ [2018-02-26 07:25:41] derick@php.net Looks like this got missed out when we added 'v' to formatting. However, this has recently been added to timelib (the library behind the functionality). Parsing 'v' should make it into PHP 7.3. ------------------------------------------------------------------------ [2018-02-26 01:18:08] rparker at kodama dot design Description: ------------ \DateTime::createFromFormat('Y-m-d\TH:i:sP', '2015-06-09T14:00:00-07:00') works but \DateTime::createFromFormat('Y-m-d\TH:i:s.vP', '2015-06-09T14:00:00.000-07:00') doesnt. var_dump(\DateTime::getLastErrors()) outputs array(4) { ["warning_count"]=> int(0) ["warnings"]=> array(0) { } ["error_count"]=> int(2) ["errors"]=> array(2) { [26]=> string(35) "The format separator does not match" [27]=> string(13) "Trailing data" } } It is being triggered by the v option which should be supported. Test script: --------------- \DateTime::createFromFormat('Y-m-d\TH:i:s.vP', '2015-06-09T14:00:00.000-07:00'); var_dump(\DateTime::getLastErrors()); ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=76009&edit=1

« previous php.bugs (#237382) next »