Req #79903 [Com]: datetime: new format "p", same as "P" but returning "Z" for UTC
| From: | antonino dot spampinato86 at gmail dot com | 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