PHP - формат даты ISO8601? - PullRequest
       11

PHP - формат даты ISO8601?

5 голосов
/ 10 сентября 2011

У меня есть год (2002), и я пытаюсь перевести его в следующий формат:

2002-00-00T00: 00: 00

Я пробовал разные итерации,последний из которых был таким:

$testdate = DateTime::createFromFormat(DateTime::ISO8601, date("c"))
echo date_format($testdate, '2002'); 

Но, даже если я подхожу ближе, всегда добавляется +00: 00 к концу ...

Ответы [ 3 ]

13 голосов
/ 10 сентября 2011

Формат 'c' в PHP всегда добавляет смещение часового пояса. Вы не можете избежать этого. Но вы можете построить дату самостоятельно из компонентов:

date('Y-m-d\TH:i:s', $testdate);
0 голосов
/ 12 ноября 2018

Лучший способ - использовать константы (PHP 5> = 5.5.0, PHP 7)

date(DATE_ISO8601, $timeToChange);

Документы: http://php.net/manual/en/class.datetimeinterface.php#datetime.constants.types

0 голосов
/ 27 февраля 2018
date('Y-m-d\TH:i:s\Z', time() - date('Z'));
...