PHP Fecha y Hora

La función date() de PHP se utiliza para formatear fechas o horas.

Función Date() de PHP

La función Date() de PHP formatea el timestamp en una fecha y hora más legible.

Sintaxis

date(format,timestamp)
Parámetros Descripción
format Obligatorio. Especifica el formato del timestamp.
timestamp Opcional. Especifica el timestamp. Por defecto es la fecha y hora actual.

Notas:Un timestamp es una secuencia de caracteres que representa la fecha y hora específica de un evento.

Obtener una fecha simple

El parámetro de formato de la función date() es obligatorio, y especifica cómo formatear la fecha o la hora.

A continuación se enumeran algunos caracteres comunes utilizados en fechas:

  • d - Representa el día del mes (01-31)
  • m - Representa el mes (01-12)
  • Y - Representa el año (cuatro dígitos)
  • 1 - Representa un día de la semana

Otras caracteres, como "/", "." o "-", también pueden ser insertados en los caracteres para aumentar otros formatos.

El siguiente ejemplo utiliza tres métodos diferentes para formatear la fecha de hoy:

Ejemplo

<?php
echo "Hoy es " . date("Y/m/d") . "<br>";
echo "Hoy es " . date("Y.m.d") . "<br>";
echo "Hoy es " . date("Y-m-d") . "<br>";
echo "Hoy es " . date("l");
?>

Ejemplo de ejecución

PHP Advertencia - Año de copyright automático

Use la función date() para actualizar automáticamente el año de la versión en su sitio web:

Ejemplo

© 2010-<?php echo date("Y")?>

Ejemplo de ejecución

Obtener una hora simple

Los caracteres comunes utilizados para la hora son los siguientes:

  • h - formato de 12 horas con cero a la izquierda
  • i - minutos con cero a la izquierda
  • s - segundos con cero a la izquierda (00-59)
  • a - minúsculas de mañana y tarde (am o pm)

El siguiente ejemplo muestra la hora actual en el formato especificado:

Ejemplo

<?php
echo "La hora actual es " . date("h:i:sa");
?>

Ejemplo de ejecución

Notas:Tenga en cuenta que la función date() de PHP devuelve la fecha y hora actual del servidor!

Obtener la zona horaria

Si el tiempo devuelto por el código no es correcto, es posible que su servidor esté ubicado en otro país o que haya sido configurado en una zona horaria diferente.

Por lo tanto, si necesita una hora precisa basada en una ubicación específica, puede establecer la zona horaria correspondiente.

El siguiente ejemplo establece la zona horaria en "Asia/Shanghai" y luego muestra la hora actual en el formato especificado:

Ejemplo

<?php
date_default_timezone_set("Asia/Shanghai");
echo "La hora actual es " . date("h:i:sa");
?>

Ejemplo de ejecución

Crear fechas usando mktime() de PHP

El parámetro opcional de timestamp de la función date() especifica el timestamp. Si no especifica un timestamp, se utilizará la fecha y hora actual (como en el ejemplo anterior).

La función mktime() devuelve el timestamp Unix de la fecha. El timestamp Unix contiene el número de segundos entre el epoch Unix (1 de enero de 1970 a las 00:00:00 GMT) y el tiempo especificado.

Sintaxis

mktime(hour,minute,second,month,day,year)

El siguiente ejemplo crea una fecha y hora utilizando una serie de parámetros de la función mktime():

Ejemplo

<?php
$d=mktime(9, 12, 31, 6, 10, 2015);
echo "La fecha de creación es " . date("Y-m-d h:i:sa", $d);
?>

Ejemplo de ejecución

Crear fechas usando strings con PHP strtotime()

La función strtotime() de PHP se utiliza para convertir cadenas legibles por humanos en tiempo Unix.

Sintaxis

strtotime(time,now)

El siguiente ejemplo crea una fecha y hora utilizando la función strtotime():

Ejemplo

<?php
$d=strtotime("10:38pm April 15 2015");
echo "La fecha de creación es " . date("Y-m-d h:i:sa", $d);
?>

Ejemplo de ejecución

PHP es muy inteligente al convertir cadenas a fechas, por lo que puede usar varios valores:

Ejemplo

<?php
$d=strtotime("mañana");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>

Ejemplo de ejecución

Sin embargo, strtotime() no es perfecto, por lo que recuerde verificar las cadenas que se introducen.

Más ejemplos de fechas

El siguiente ejemplo muestra la fecha del próximo sábado:

Ejemplo

<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks",$startdate);
while ($startdate < $enddate) {
  echo date("M d", $startdate),"<br>";
  $startdate = strtotime("+1 week", $startdate);
}
?>

Ejemplo de ejecución

El siguiente ejemplo muestra el número de días anteriores al 4 de julio:

Ejemplo

<?php
$d1=strtotime("December 31");
$d2=ceil(($d1-time())/60/60/24);
echo "Quedan: " . $d2 . " días hasta el 31 de diciembre.";
?>

Ejemplo de ejecución

Manual de referencia completo de fechas PHP

Para obtener un manual completo de todas las funciones de fechas, visite nuestra Manual de referencia de fechas PHP.

Este manual contiene una descripción breve de cada función y ejemplos de uso.