now - ¿Cómo convierto datetime a ISO 8601 en PHP?
php timestamp to date (5)
Cómo convertir de ISO 8601 a unixtimestamp:
strtotime(''2012-01-18T11:45:00+01:00'');
// Output : 1326883500
Cómo convertir de unixtimestamp a ISO 8601 (servidor de zona horaria):
date_format(date_timestamp_set(new DateTime(), 1326883500), ''c'');
// Output : 2012-01-18T11:45:00+01:00
Cómo convertir de unixtimestamp a ISO 8601 (GMT):
date_format(date_create(''@''. 1326883500), ''c'') . "/n";
// Output : 2012-01-18T10:45:00+00:00
Cómo convertir de unixtimestamp a ISO 8601 (zona horaria personalizada):
date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone(''America/New_York'')), ''c'');
// Output : 2012-01-18T05:45:00-05:00
¿Cómo convierto mi tiempo de 2010-12-30 23:21:46
al formato de fecha ISO 8601? (-_-;)
Orientado a objetos
Esta es la forma recomendada.
$datetime = new DateTime(''2010-12-30 23:21:46'');
echo $datetime->format(DateTime::ATOM); // Updated ISO8601
Procesal
Para versiones anteriores de PHP, o si está más cómodo con el código de procedimiento.
echo date(DATE_ISO8601, strtotime(''2010-12-30 23:21:46''));
Después de PHP 5 puede usar esto: echo date("c");
forma fecha y hora formateadas ISO 8601.
Nota para comentarios:
Con respecto a this , ambas expresiones son válidas para la zona horaria, para el formato básico: ±[hh]:[mm], ±[hh][mm], or ±[hh]
.
Pero tenga en cuenta que + 0X: 00 es correcto y + 0X00 es incorrecto para un uso prolongado. Entonces es mejor usar la date("c")
. Una discusión similar here .
Si intentas establecer un valor en datetime-local
date("Y-m-d/TH:i",strtotime(''2010-12-30 23:21:46''));
//output : 2010-12-30T23:21
date("c");
//output : 2018-02-28T13:12:44+01:00