Cómo convertir DateTime a cadena en PHP
-
Usando el método
format()
de la claseDateTime
-
Usando el
date_format()
método -
Utilizando formatos predefinidos en
date_d.php
-
Usando
list()
para convertirDateTime
aString
en PHP
Convertir DateTime
a cadena en PHP es bastante fácil, hay funciones útiles disponibles que están pensadas para este propósito como format()
de la clase DateTime
, date_format()
, usando los formatos predefinidos o usando list()
.
Usando el método format()
de la clase DateTime
PHP tiene una clase DateTime
para manejar la fecha y la hora. Ha estado disponible desde la versión 5.2 de PHP.
Algunas razones por las que usar DateTime
sobre las funciones tradicionales de PHP para manejar las fechas:
- Es capaz de procesar más formatos de cadenas
- Es más fácil que otras funciones.
- La interfaz encapsula la lógica del back-end con una interfaz limpia para usar.
Uno de los métodos útiles de la clase DateTime
es el format()
, devuelve la cadena de fecha formateada según el formato dado.
Ejemplo:
$theDate = new DateTime('2020-03-08');
echo $stringDate = $theDate->format('Y-m-d H:i:s');
//output: 2020-03-08 00:00:00
La $stringDate
es una cadena con el formato proporcionado.
Nota: El DateTime->format()
no soporta realmente los microsegundos.
Usando el date_format()
método
El método date_format()
devolverá un nuevo objeto DateTime
, luego formateará la fecha de acuerdo al formato dado.
Ejemplo:
$date = date_create_from_format('d M, Y', '08 Mar, 2020');
echo $newFormat = date_format($date,"Y/m/d H:i:s");
//output: 2020/03/08 00:00:00
El date_create_from_format()
está siendo usado para analizar una cadena de tiempo de acuerdo al formato proporcionado. Esta función acepta tres parámetros que son format
, time
y la timezone
(opcional).
En el ejemplo anterior, el date_format()
procesa la fecha creada para convertirla en una cadena.
Utilizando formatos predefinidos en date_d.php
Lista de formatos predefinidos:
define ('DATE_ATOM', "Y-m-d\TH:i:sP");
define ('DATE_COOKIE', "l, d-M-y H:i:s T");
define ('DATE_ISO8601', "Y-m-d\TH:i:sO");
define ('DATE_RFC822', "D, d M y H:i:s O");
define ('DATE_RFC850', "l, d-M-y H:i:s T");
define ('DATE_RFC1036', "D, d M y H:i:s O");
define ('DATE_RFC1123', "D, d M Y H:i:s O");
define ('DATE_RFC2822', "D, d M Y H:i:s O");
define ('DATE_RFC3339', "Y-m-d\TH:i:sP");
define ('DATE_RSS', "D, d M Y H:i:s O");
define ('DATE_W3C', "Y-m-d\TH:i:sP");
Ejemplo de uso:
$dateFormat = new DateTime(); // this will return current date
echo $stringDate = $date->format(DATE_ATOM);
//output: 2020-03-08T12:54:56+01:00
El ejemplo anterior utiliza uno de los formatos predefinidos, por lo que no es necesario proporcionarlo realmente.
Usando list()
para convertir DateTime
a String
en PHP
La función list()
puede utilizarse para asignar valores a una lista de variables en una sola operación, pero sólo funciona con matrices numéricas. Cuando el array se asigna a múltiples valores, el primer elemento del array se asignará a la primera variable, y así sucesivamente, hasta el final del número de variables. Sin embargo, el número de variables no puede ser mayor que la longitud del array numérica.
Ejemplo:
$date = explode("/",date('d/m/Y/h/i/s')
list($day,$month,$year,$hour,$min,$sec) = $date);
echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;
//output: 03/08/2020 02:01:06
Usando la función list()
, puedes usar fácilmente $day
, $month
, $year
, $hour
, $min
, y $sec
como una variable.
Artículo relacionado - PHP Date
- Cómo añadir días a la fecha en PHP
- Cómo calcular la diferencia entre dos fechas usando PHP
- Cómo convertir una cadena a fecha y hora en PHP
- Cómo convertir un formato de fecha a otro en PHP
- Cómo obtener la fecha y hora actuales en PHP
Artículo relacionado - PHP DateTime
- Cómo obtener el último día del mes con las funciones PHP
- Cómo calcular la diferencia entre dos fechas usando PHP
- Cómo obtener el año actual en PHP
- Cómo convertir una fecha en una marca de tiempo en PHP
- Cómo convertir una marca de tiempo en una fecha u hora legible en PHP