Convertir Formatos de Fecha en PHP: Guía Completa
Manipular fechas en PHP es una tarea común en el desarrollo web. A menudo, necesitas convertir fechas entre diferentes formatos para mostrarlas correctamente o para realizar cálculos con ellas. Esta guía te proporcionará una comprensión profunda de cómo cambiar formatos de fecha en PHP, incluyendo ejemplos prácticos para que puedas empezar a trabajar con fechas de manera eficiente.
En PHP, puedes usar las funciones strtotime() y date() para convertir formatos de fecha de forma sencilla. La función strtotime() convierte una cadena de texto a una marca de tiempo, mientras que la función date() formatea una marca de tiempo como una cadena de texto.
Convertir de YYYY-MM-DD a DD-MM-YYYY
Comencemos con un ejemplo simple: convertir una fecha en el formato YYYY-MM-DD a DD-MM-YYYY. Imagina que tienes una fecha en la variable $fecha_original con el formato YYYY-MM-DD:
php
$fecha_original = '2023-10-27';
Para convertir esta fecha a DD-MM-YYYY, primero convertirás la cadena de texto a una marca de tiempo usando strtotime():
php
$marca_de_tiempo = strtotime($fecha_original);
Luego, puedes usar date() para formatear la marca de tiempo como una cadena de texto con el formato deseado:
php
$fecha_formateada = date('d-m-Y', $marca_de_tiempo);
En este caso, 'd-m-Y' especifica el formato DD-MM-YYYY. Ahora, $fecha_formateada contendrá la fecha en el formato DD-MM-YYYY: ’27-10-2023′.
Convertir de DD-MM-YYYY a YYYY-MM-DD
Para convertir una fecha en el formato DD-MM-YYYY a YYYY-MM-DD, el proceso es similar. Supongamos que tienes una fecha en la variable $fecha_original con el formato DD-MM-YYYY:
php
$fecha_original = '27-10-2023';
Utilizarás strtotime() para convertir la cadena de texto a una marca de tiempo:
php
$marca_de_tiempo = strtotime($fecha_original);
Luego, formatearás la marca de tiempo con date() en el formato deseado:
php
$fecha_formateada = date('Y-m-d', $marca_de_tiempo);
'Y-m-d' especifica el formato YYYY-MM-DD, y $fecha_formateada contendrá la fecha en el formato YYYY-MM-DD: ‘2023-10-27’.
Convertir Fechas con Hora
Convertir formatos de fecha también se aplica a fechas con hora. Si tienes una fecha con hora en la variable $fecha_original en el formato YYYY-MM-DD HH:mm:ss:
php
$fecha_original = '2023-10-27 15:30:00';
Puedes convertirla a DD-MM-YYYY HH:mm:ss usando strtotime() y date():
php
$marca_de_tiempo = strtotime($fecha_original);
$fecha_formateada = date('d-m-Y H:i:s', $marca_de_tiempo);
En este caso, 'd-m-Y H:i:s' especifica el formato DD-MM-YYYY HH:mm:ss. $fecha_formateada contendrá la fecha con hora en el formato deseado: ’27-10-2023 15:30:00′.
Convertir Formatos de Fecha y Hora
Puedes combinar la conversión de formatos de fecha y hora para crear diferentes representaciones de fechas y horas. Por ejemplo, puedes convertir una fecha en el formato YYYY-MM-DD HH:mm:ss a DD-MM-YYYY HH:mm:ss (24 horas) o a DD-MM-YYYY hh:mm:ss (12 horas).
Para convertir de YYYY-MM-DD HH:mm:ss a DD-MM-YYYY HH:mm:ss (24 horas), utilizarías el siguiente código:
php
$fecha_original = '2023-10-27 15:30:00';
$marca_de_tiempo = strtotime($fecha_original);
$fecha_formateada = date('d-m-Y H:i:s', $marca_de_tiempo);
Para convertir a DD-MM-YYYY hh:mm:ss (12 horas), utilizarías:
php
$fecha_original = '2023-10-27 15:30:00';
$marca_de_tiempo = strtotime($fecha_original);
$fecha_formateada = date('d-m-Y h:i:s', $marca_de_tiempo);
Recuerda que 'H' representa la hora en formato de 24 horas, mientras que 'h' representa la hora en formato de 12 horas.
Formatos de Fecha en PHP
PHP ofrece una amplia variedad de formatos de fecha que puedes utilizar para formatear fechas y horas según tus necesidades. Aquí te presentamos algunos formatos comunes:
- ‘Y’: Año con 4 dígitos (ejemplo: 2023)
- ‘y’: Año con 2 dígitos (ejemplo: 23)
- ‘m’: Mes con 2 dígitos (ejemplo: 10)
- ‘n’: Mes sin ceros (ejemplo: 10)
- ‘M’: Mes con 3 letras (ejemplo: Oct)
- ‘F’: Mes completo (ejemplo: Octubre)
- ‘d’: Día con 2 dígitos (ejemplo: 27)
- ‘j’: Día sin ceros (ejemplo: 27)
- ‘D’: Día de la semana con 3 letras (ejemplo: Sun)
- ‘l’: Día de la semana completo (ejemplo: Sunday)
- ‘h’: Hora con 12 horas (ejemplo: 03)
- ‘H’: Hora con 24 horas (ejemplo: 15)
- ‘i’: Minutos con 2 dígitos (ejemplo: 30)
- ‘s’: Segundos con 2 dígitos (ejemplo: 00)
Resumen
En este artículo, has aprendido a convertir formatos de fecha en PHP utilizando las funciones strtotime() y date(). Has visto ejemplos de cómo convertir fechas entre diferentes formatos, incluyendo fechas con hora. También has explorado la variedad de formatos de fecha disponibles en PHP.
La manipulación de fechas es una habilidad esencial en el desarrollo web. Con esta guía, podrás convertir formatos de fecha en PHP con facilidad, lo que te permitirá trabajar con fechas y horas de forma eficiente en tus proyectos.