wake-up-neo.com

Wie konvertiere ich datetime nach ISO 8601 in PHP

Wie konvertiere ich meine Uhrzeit von 2010-12-30 23:21:46 in das ISO 8601-Datumsformat? (-_-;)

78
wow

Objektorientierter

Dies ist der empfohlene Weg.

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

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

Prozedural

Für ältere Versionen von PHP oder wenn Sie mit prozeduralem Code vertraut sind.

echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));
187
alex

Nach PHP 5 können Sie Folgendes verwenden: echo date("c"); Form ISO 8601-formatierte Datumszeit.

http://ideone.com/nD7piL

Hinweis für Kommentare:

In Bezug auf this gelten beide dieser Ausdrücke für die Zeitzone, für das Basisformat: ±[hh]:[mm], ±[hh][mm], or ±[hh].

Beachten Sie jedoch, dass + 0X: 00 korrekt ist und + 0X00 für die erweiterte Verwendung falsch ist. Daher ist es besser, date("c") zu verwenden. Eine ähnliche Diskussion hier .

34
trante

Wie konvertiert man von ISO 8601 zu Unixtimestamp:

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

Wie konvertiert man von unixtimestamp zu ISO 8601 (Zeitzonen-Server):

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

Wie konvertiert man von unixtimestamp zu ISO 8601 (GMT):

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

Wie konvertiert man von unixtimestamp zu ISO 8601 (benutzerdefinierte Zeitzone):

date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2012-01-18T05:45:00-05:00
2
John Slegers

Wenn Sie versuchen, einen Wert in datetime-local festzulegen

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

//output : 2010-12-30T23:21
0
Rúbia Alves