Req #79903 [Com]: datetime: new format "p", same as "P" but returning "Z" for UTC

From: Date: Sun, 02 Aug 2020 00:58:18 +0000
Subject: Req #79903 [Com]: datetime: new format "p", same as "P" but returning "Z" for UTC
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-228363@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=79903&edit=1 ID: 79903 Comment by: antonino dot spampinato86 at gmail dot com Reported by: mail at gh01 dot de Summary: datetime: new format "p", same as "P" but returning "Z" for UTC Status: Open Type: Feature/Change Request Package: Date/time related PHP Version: Next Major Version Block user comment: N Private report: N New Comment: Characters in single quotes in the formats are case-insensitive ('t' could be t or T), characters in double quotes are case-sensitive ("T" is only T). https://www.php.net/manual/en/datetime.formats.php Previous Comments: ------------------------------------------------------------------------ [2020-07-30 11:08:56] samle at email dot tst it's one thing that the bugtracker has no protection against assholes but accepting identical comments within the same second? ------------------------------------------------------------------------ [2020-07-27 17:05:43] mail at gh01 dot de The following pull request has been associated: Patch Name: datetime: new format "p", same as "P" but returning "Z" for UTC On GitHub: https://github.com/php/php-src/pull/5896 Patch: https://github.com/php/php-src/pull/5896.patch ------------------------------------------------------------------------ [2020-07-27 16:35:41] mail at gh01 dot de Description: ------------ ISO 8601 differentiates between local time (without time zone), UTC with letter "Z" and time offsets from UTC like "+02:00". https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators When formatting datetimes, it is sometimes desired to get the "Z" for UTC times and otherwise the offset. But at the moment there are only the formatting chars "O" (for "+0200" etc.) and "P" (for "+02:00" etc.). I suggest to add lower case "p" as another formatting char which behaves the same as upper case "P" but returns "Z" for UTC datetimes. https://github.com/php/php-src/pull/5896 Test script: --------------- <?php $datetime = new DateTime('2020-07-26 20:00:00', new DateTimeZone('UTC')); $datetime->format('Y-m-d\TH:i:sP'); // '2020-07-26T20:00:00+00:00' $datetime->format('Y-m-d\TH:i:sp'); // '2020-07-26T20:00:00Z' $datetime = new DateTime('2020-07-26 20:00:00', new DateTimeZone('Europe/London')); $datetime->format('Y-m-d\TH:i:sP'); // '2020-07-26T20:00:00+00:00' $datetime->format('Y-m-d\TH:i:sp'); // '2020-07-26T20:00:00+00:00' $datetime = new DateTime('2020-07-26 20:00:00', new DateTimeZone('Europe/Berlin')); $datetime->format('Y-m-d\TH:i:sP'); // '2020-07-26T20:00:00+02:00' $datetime->format('Y-m-d\TH:i:sp'); // '2020-07-26T20:00:00+02:00' ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=79903&edit=1

« previous php.bugs (#228363) next »