Fecha actual en PHP usando date
En este post te enseñaré a obtener y formatear la fecha actual en PHP usando la función date
.
La función date
La función date regresa la fecha y hora actual, pues su sintaxis es:
date("formato", $tiempo_de_partida);
Si no se especifica el tiempo de partida, se toma el tiempo o fecha actual.
Formatos de date
Los formatos de date son letras, y se pueden combinar para crear fechas completas.
Veamos un ejemplo que obtiene el año, mes, día, hora, minutos y segundos actuales:
$ahora = date("Y-m-d H:i:s");
La variable $ahora
debe ser algo así (cuando tú lo ejecutes obviamente va a cambiar):
2019-07-31 13:14:19
Vamos a separar cada componente por letra:
- Y: el año actual
- m: el mes actual
- d: número de día del mes (0 a 31)
- H: hora del día, formato de 24 horas
- i: minutos, del 0 al 59
- s: segundos del 0 al 59
Nota: existen más formatos.
Los guiones y los dos puntos son caracteres que PHP ignora; es decir, si no entiende la letra, devuelve el mismo carácter. Gracias a esto podemos formatear separando con guiones y dos puntos.
Ejemplo de date
Para ejemplificar vamos a ver el siguiente código que obtiene el año actual, mes actual, día actual y hora actual en PHP.
<?php
# Formatear fecha en PHP
# https://parzibyte.me/blog
$anio = date("Y");
$mes = date("m");
$dia = date("d");
$hora = date("H");
$minutos = date("i");
$segundos = date("s");
$fecha = date("Y-m-d");
$hora = date("H:i:s");
$completa = date("Y-m-d H:i:s");
# Mostrar
echo "Año: $anio" . "\n";
echo "Mes: $mes" . "\n";
echo "Dia: $dia" . "\n";
echo "Hora: $hora" . "\n";
echo "Minutos: $minutos" . "\n";
echo "Segundos: $segundos" . "\n";
echo "Fecha: $fecha" . "\n";
echo "Hora: $hora" . "\n";
echo "Completa: $completa" . "\n";
/*
Salida:
Año: 2019
Mes: 07
Dia: 31
Hora: 18:20:47
Minutos: 20
Segundos: 47
Fecha: 2019-07-31
Hora: 18:20:47
Completa: 2019-07-31 18:20:47
*/
Basta con indicar el formato, y PHP se encargará de devolver el dato actual. Así es como podemos obtener y formatear la fecha actual en PHP de una manera sencilla.
¿La función date da resultados incorrectos?
Si para ti la salida es una fecha que no es correcta (es decir, que tiene horas atrasadas o adelantadas) posiblemente no estás configurando la zona horaria.
La zona horaria en PHP permite saber a qué lugar del planeta debe adecuarse.
Mira mi otro post para saber cómo ajustar la zona horaria en PHP, y de esta manera las llamadas a date deberán ser precisos.
Ahora que ya sabes cómo obtener la fecha actual puede que quieras saber cómo calcular el tiempo transcurrido entre dos fechas, u obtener fechas del futuro con PHP.
Muchas gracias! 🙂