Jak przekonwertować datetime na ISO 8601 w PHP

Jak przekonwertować mój czas z 2010-12-30 23:21:46 Na format daty ISO 8601? (-_-;)

Author: John Slegers, 2011-03-16

5 answers

Zorientowane Obiektowo

Jest to zalecany sposób.

$datetime = new DateTime('2010-12-30 23:21:46');

echo $datetime->format(DateTime::ATOM); // Updated ISO8601

Dla starszych wersji PHP, lub jeśli wolisz korzystać z kodu proceduralnego.

echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));
 172
Author: alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-02 03:49:23

Po PHP 5 możesz użyć tego: echo date("c"); form ISO 8601 sformatowany datetime.

Http://ideone.com/nD7piL

Uwaga na komentarze:

W odniesieniu do tego , oba te wyrażenia są ważne dla strefy czasowej, dla formatu podstawowego: ±[hh]:[mm], ±[hh][mm], or ±[hh].

Ale zauważ, że +0x: 00 jest poprawne, a +0x00 jest niepoprawne dla rozszerzonego użycia. Więc lepiej użyć date("c"). Podobna dyskusja tutaj .

 31
Author: trante,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-04 20:03:45

Jak przekonwertować z ISO 8601 na unixtimestamp :

strtotime('2012-01-18T11:45:00+01:00');
// Output : 1326883500

Jak przekonwertować unixtimestamp do ISO 8601 (serwer strefy czasowej):

date_format(date_timestamp_set(new DateTime(), 1326883500), 'c');
// Output : 2012-01-18T11:45:00+01:00

Jak przekonwertować z unixtimestamp do ISO 8601 (GMT):

date_format(date_create('@'. 1326883500), 'c') . "\n";
// Output : 2012-01-18T10:45:00+00:00

Jak przekonwertować unixtimestamp do ISO 8601 (custom timezone):

date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2012-01-18T05:45:00-05:00
 2
Author: John Slegers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-03 18:32:15

Jeśli spróbujesz ustawić wartość w datetime-local

date("Y-m-d\TH:i",strtotime('2010-12-30 23:21:46'));

//output : 2010-12-30T23:21
 0
Author: Rúbia Alves,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-04 20:31:57
date("c");

//output : 2018-02-28T13:12:44+01:00
 -2
Author: Brighton Madire,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-28 13:23:35