Formato de fecha en PHP para inserción en MySQL
MySQL es una base de datos RDBMS destinada a almacenar datos relacionales. Soporta varios tipos de datos, siendo Date
uno de ellos. Como MySQL solo admite formatos de fecha particulares, debe formatear las fechas antes de insertar fechas en la base de datos; de lo contrario, la base de datos arrojará un error.
Este artículo presentará cómo formatear fechas en PHP antes de insertarlas en una base de datos MySQL.
MySQL admite 5 formatos de fecha.
DATE
:YYYY-MM-DD
Sólo almacena la fecha sin hora en el rango de1000-01-01 a 9999-12-31
. Por ejemplo,2021-10-28
.DATETIME
:YYYY-MM-DD HH:MI:SS
. Almacena la fecha con la hora en el rango de1000-01-01 00:00:00 a 9999-12-31 23:59:59
. Por ejemplo,2021-10-28 10:30:24
.TIMESTAMP
:YYYY-MM-DD HH:MI:SS
. Almacena la fecha con la hora en el rango de1970-01-01 00:00:01 a 2038-01-09 03:14:17
. Por ejemplo,2021-10-28 10:30:24
.TIME
:HH:MI:SS
. Almacena la hora sin fecha en el rango de-838:59:59
a838:59:59
. Por ejemplo,10:30:24
.YEAR
:YYYY
oYY
. Almacena el año 4 o 2 dígitos en el rango de70(1970)-69(2069)
para 2 dígitos y1901-2155 | 0000
para 4 dígitos. Por ejemplo,2021
.
Antes de aprender la solución, comprendamos el concepto de date()
.
date()
en PHP
Es una función PHP incorporada que devuelve la cadena de fecha formateada.
Sintaxis de date()
date($format, $timestamp);
Parámetros
$ formato
: este es un parámetro obligatorio que especifica el formato de la cadena de fecha de salida. Algunas de las opciones son:
d
: el día del mes en el rango de 01 a 31m
: representación numérica de un mes en el rango de 01 a 12Y
: representación de cuatro dígitos de un añoy
: representación de dos dígitos de un añoH
: representación de dos dígitos de una hora en el rango de 00 a 23i
: representación de dos dígitos de un minuto en el rango de 00 a 59s
: representación de dos dígitos de un segundo en el rango de 00 a 59
$timestamp
: Es un parámetro opcional que especifica una marca de tiempo Unix en formato entero. Si no se proporciona, se tomará un valor predeterminado como la hora local actual.
Código de ejemplo:
<?php
$formated_DATETIME = date('Y-m-d H:i:s');
echo $formated_DATETIME. "<br>";
// 2021-10-27 14:02:16
$formated_DATE = date('Y-m-d');
echo $formated_DATE. "<br>";
// 2021-10-27
$formated_TIME = date('H:i:s');
echo $formated_TIME. "<br>";
//14:03:57
$formated_YEAR = date('Y');
echo $formated_YEAR. "<br>";
// 2021
?>
Producción :
2021-10-27 14:02:16
2021-10-27
14:03:57
2021
date_format()
en PHP
Es una función PHP incorporada que toma el objeto DateTime
como entrada y devuelve la cadena de fecha formateada.
Sintaxis de date_format()
date_format($dateObject, $format);
Parámetros
$dateObject
: Es un parámetro obligatorio que especifica un objeto DateTime
.
$format
: este es un parámetro obligatorio que especifica el formato de la cadena de fecha de salida. Algunas de las opciones son:
d
: el día del mes en el rango de 01 a 31m
: representación numérica de un mes en el rango de 01 a 12Y
: representación de cuatro dígitos de un añoy
: representación de dos dígitos de un añoH
: representación de dos dígitos de una hora en el rango de 00 a 23i
: representación de dos dígitos de un minuto en el rango de 00 a 59s
: representación de dos dígitos de un segundo en el rango de 00 a 59
Código de ejemplo:
<?php
$date = date_create("2021/10/27");
$formated_DATETIME = date_format($date, 'Y-m-d H:i:s');
echo $formated_DATETIME. "<br>";
$formated_DATE = date_format($date, 'Y-m-d');
echo $formated_DATE. "<br>";
$formated_TIME = date_format($date, 'H:i:s');
echo $formated_TIME. "<br>";
$formated_YEAR = date_format($date, 'Y');
echo $formated_YEAR. "<br>";
?>
Producción :
2021-10-27 00:00:00
2021-10-27
00:00:00
2021
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn