Datetime en PHP: Concepto con ejemplos
Datetime en PHP. Esta clase se usa para manejar fecha y hora y con mayor frecuencia usa date(), time(), strtotime(), etc. Recordemos que, la clase DateTime es una nueva clase de formato de tiempo de procesamiento agregada después de PHP 5.2.
Puede generar, convertir y calcular el tiempo. Es un buen sustituto de funciones como date().
Resumen:
En este articulo veremos cómo usar Datetime y cambiar formatos de fecha y la hora de forma orientada a objetos.
La clase DateTime PHP
PHP proporciona un conjunto de clases de fecha y hora que le permiten trabajar con la fecha y la hora de forma orientada a objetos.
Para crear un nuevo objeto de fecha y hora, utilice la clase DateTime. Por ejemplo:
<?php
$datetime = new DateTime();
var_dump($datetime);
?>
Al ejecutar el código anterior veremos en el navegador la siguiente salida:
object(DateTime)#1 (3) {
["date"]=> string(26) "2021-07-15 06:30:40.294788"
["timezone_type"]=> int(3)
["timezone"]=> string(13) "Europe/Berlin"
}
¿Qué es Datetime PHP?
El objeto DateTime representa la fecha y hora actual en la zona horaria especificada en el archivo de configuración de PHP (php.ini)
Datetime para cada país con PHP
Para establecer una nueva zona horaria, cree un nuevo objeto DateTimeZone y páselo al método setTimezone() del objeto DateTime:
<?php
$datetime = new DateTime();
$timezone = new DateTimeZone('America/Santiago');
$datetime->setTimezone($timezone);
var_dump($datetime);
Salida en el navegador
object(DateTime)#1 (3) {
["date"]=> string(26) "2022-07-14 21:33:27.986925"
["timezone_type"]=> int(3)
["timezone"]=> string(19) "America/Santiago"
}
En este ejemplo, creamos un nuevo objeto DateTimeZone y lo configuramos como «America/Santiago«. Para obtener zonas horarias válidas compatibles con PHP, consulte la lista de zonas horarias.
Cambiar formato de Datetime PHP
Para dar formato a un objeto DateTime, utiliza el método format(). Los parámetros de la cadena de formato son los mismos que usa para la función date(). Por ejemplo:
<?php
$datetime = new DateTime();
echo $datetime->format('d-m-Y g:i A');
Veamos la salida en el navegador web al ejecutar el script PHP
24/09/2022 6:38 AM
Establecer nuevo formato de Datetime PHP
Si en algunos casos trabajamos con Datetime extraído desde base de datos podemos formatearlo y establecer un nuevo formato de fechas. Para establecer una fecha y hora específicas, puede pasar una cadena de fecha y hora al constructor DateTime() de esta manera:
<?php
$datetime = new DateTime('2022/09/24 11:00 AM');
echo $datetime->format('d-m-Y g:i A');
//Salida: 24-09-2022 11:00 AM
Nuevo formato usando strtotime
$originalDate = "2022-07-18";
$newDate = date("d-m-Y", strtotime($originalDate));
//Salida: 18-07-2022
Conclusión
Tanto la función DATE() como DATETIME juegan un rol fundamental cuando trabajamos con fechas y es importante saber cómo podemos utilizarlo en las diversas secciones de nuestro proyecto.
- Utilice la clase DateTime para trabajar con la fecha y la hora.
- DateTimeZone para trabajar con zonas horarias.
- Usar los operadores de comparación para comparar dos objetos DateTime.
- El método diff() para calcular la diferencia entre los objetos DateTime.
- La clase DateInterval para representar un intervalo de fecha y hora.
- Método add() para agregar o restar un intervalo de un objeto DateTime.