#47184 [Bgs]: DATE_ISO8601 constant and date('c') mismatch

From: Date: Thu, 22 Jan 2009 15:03:23 +0000
Subject: #47184 [Bgs]: DATE_ISO8601 constant and date('c') mismatch
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-133157@lists.php.net to get a copy of this message
ID: 47184 User updated by: guilhermeblanco@php.net Reported By: guilhermeblanco@php.net Status: Bogus Bug Type: Date/time related Operating System: * PHP Version: 5.2.8 New Comment: Ilia, It's not a case of being short or full format. It's a matter of consistency. Even this value is valid: 20090122T130112Z0200 The question here is that both DATE_ISO8601 and date('c') should be consistent, since they refer to the same format. I am just forwarding what I've heard not only once, but a couple of times from different work teams about this mismatch. Regards, Previous Comments: ------------------------------------------------------------------------ [2009-01-22 14:34:54] iliaa@php.net One is basic and the other is extended format, both are valid. ------------------------------------------------------------------------ [2009-01-21 17:07:06] guilhermeblanco@php.net Description: ------------ Following the documentation, DATE_ISO8601 contains this syntax: 2005-08-15T15:52:01+0000 Also, date('c') documents that: ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00 We should keep consistency when supporting this spec. I propose the change then to DATE_ISO8601 constant, defined in ext/date/php_date.c, line 714: - #define DATE_FORMAT_ISO8601 "Y-m-d\\TH:i:sO" + #define DATE_FORMAT_ISO8601 "Y-m-d\\TH:i:sP" Reproduce code: --------------- echo DATE_ISO8601 === date('c') ? 'true' : 'false'; Expected result: ---------------- true Actual result: -------------- false ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47184&edit=1

« previous php.bugs (#133157) next »