Función PHP de fecha() y hora: ¿Cómo obtener la marca de tiempo actual?
⚡ Resumen inteligente
La función date() de PHP formatea las marcas de tiempo en fechas y horas legibles. Este tutorial explica la sintaxis de fecha, la marca de tiempo Unix, cómo listar y configurar zonas horarias, la función mktime para construir marcas de tiempo y una referencia completa de los caracteres de formato de hora, día, mes y año.
Función PHP date ()
La función `date` de PHP es una función integrada que simplifica el trabajo con fechas. Se utiliza para formatear una fecha u hora en un formato legible. Puede usarse para mostrar la fecha de publicación de un artículo o registrar la última actualización de datos en una base de datos.
Sintaxis y ejemplo de fecha de PHP
La función date() de PHP tiene la siguiente sintaxis básica.
<?php date(format,[timestamp]); ?>
AQUÍ,
- “date(…)” es la función que devuelve la marca de tiempo actual formateada en PHP en el servidor.
- “formato” es el formato general que queremos que tenga nuestra salida, por ejemplo:
- “Ymd” para el formato de fecha PHP AAAA-MM-DD
- “Y” para mostrar el año actual
- “[timestamp]” es opcional. Si no se proporciona ninguna marca de tiempo, PHP utilizará la fecha y hora actuales del servidor.
Veamos un ejemplo básico que muestra el año actual.
<?php echo date("Y"); ?>
Salida:
2026
¿Qué es una marca de tiempo?
Una marca de tiempo en PHP es un valor numérico en segundos entre la hora actual y el valor en 1st Enero de 1970 00:00:00 Hora Media de Greenwich (GMT).
El valor devuelto por la función de hora depende de la zona horaria predeterminada.
La zona horaria predeterminada se configura en el archivo php.ini. También se puede configurar mediante programación utilizando la función date_default_timezone_set.
El siguiente código muestra la marca de tiempo actual.
<?php
echo time();
?>
Suponiendo que guardó el archivo timestamp.php en la carpeta phptuts, navegue hasta el URL http://localhost/phptuts/timestamp.php
Nota: el valor de la marca de tiempo no es constante. Cambia cada segundo.
Obtener una lista de identificadores de zona horaria disponibles
Antes de ver cómo configurar la zona horaria predeterminada mediante programación, veamos cómo obtener una lista de las zonas horarias compatibles.
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
AQUÍ,
- La instrucción “$timezone_identifiers = DateTimeZone::listIdentifiers();” llama al método estático listIdentifiers de la clase integrada DateTimeZone. El método listIdentifiers devuelve una lista de identificadores asignados a la variable $timezone_identifiers.
- “foreach{…}” itera a través del array e imprime los valores.
Suponiendo que guardó el archivo list_time_zones.php en la carpeta phptuts, navegue hasta la URL http://localhost/phptuts/list_time_zones.php
PHP establece la zona horaria mediante programación
La función date_default_timezone_set le permite configurar la zona horaria predeterminada desde un script PHP.
La zona horaria establecida se utilizará entonces para todas las fechas. funciones PHP en tus scripts. Tiene la siguiente sintaxis.
<?php date_default_timezone_set(string $timezone_identifier); ?>
AQUÍ,
- “date_default_timezone_set()” es la función que establece la zona horaria predeterminada
- “string $timezone_identifier” es el identificador de zona horaria
El siguiente script muestra la hora según la zona horaria predeterminada configurada en php.ini. A continuación, cambia la zona horaria predeterminada a Asia/Calcuta y vuelve a mostrar la hora.
<?php echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); date_default_timezone_set("Asia/Calcutta"); echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); ?>
Suponiendo que haya guardado el archivo set_time_zone.php en la carpeta phptuts, navegue hasta el URL http://localhost/phptuts/set_time_zone.php
Función PHP Mktime
La función mktime devuelve la marca de tiempo en un Unix formato.
Tiene la siguiente sintaxis.
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
AQUÍ,
- “mktime(…)” es la función de creación de marca de tiempo de PHP
- “hora” es opcional; es el número de la hora.
- “minuto” es opcional; es el número de minutos.
- “segundo” es opcional; es el número de segundos.
- “mes” es opcional; es el número del mes.
- “día” es opcional; es el número del día.
- “año” es opcional; es el número del año.
- El parámetro “is_dst” es opcional y se utiliza para determinar el horario de verano (DST). El valor 1 indica que hay horario de verano, 0 que no lo hay y -1 si se desconoce.
Veamos ahora un ejemplo que crea una marca de tiempo para la fecha 13/10/2025 utilizando la función mktime.
<?php
echo mktime(0,0,0,10,13,2025);
?>
AQUÍ,
- “0,0,0” representa la hora, los minutos y los segundos respectivamente.
- “10” es el mes del año
- “13” es el día del mes
- “2025” es el año
Salida:
1760328000
Referencia del formato de fecha de PHP
Las tablas que aparecen a continuación muestran los caracteres de formato comunes que se utilizan al trabajar con las funciones de fecha de PHP.
Parámetros de tiempo
| Parámetro | Mareas Ideales para Lecciones | Ejemplo |
|---|---|---|
| "R" | Devuelve la fecha y hora completas. |
<?php echo date("r"); ?> |
| “a”, “A” | Devuelve si la hora actual es am o pm, AM o PM respectivamente |
<?php echo date("a"); echo date("A"); ?> |
| “g”, “G” | Devuelve la hora sin ceros a la izquierda [1 a 12], [0 a 23] respectivamente |
<?php echo date("g"); echo date("G"); ?> |
| "S.S" | Devuelve la hora con ceros iniciales [01 a 12], [00 a 23] respectivamente. |
<?php echo date("h"); echo date("H"); ?> |
| "es" | Devuelve los minutos/segundos con ceros a la izquierda [00 a 59] |
<?php echo date("i"); echo date("s"); ?> |
Parámetros del día
| Parámetro | Mareas Ideales para Lecciones | Ejemplo |
|---|---|---|
| "D" | Devuelve el día del mes con ceros a la izquierda [01 a 31] |
<?php echo date("d"); ?> |
| "j" | Devuelve el día del mes sin ceros a la izquierda [1 a 31] |
<?php echo date("j"); ?> |
| "RE" | Devuelve las tres primeras letras del nombre del día [de domingo a sábado]. |
<?php echo date("D"); ?> |
| "L" | Devuelve el nombre del día de la semana [de domingo a sábado]. |
<?php echo date("l"); ?> |
| "w" | Devuelve el día de la semana sin ceros iniciales [0 a 6]; el domingo se representa con cero (0) y el sábado con seis (6). |
<?php echo date("w"); ?> |
| "Z" | Devuelve el día del año sin espacios iniciales [0 a 365] |
<?php echo date("z"); ?> |
Parámetros del mes
| Parámetro | Mareas Ideales para Lecciones | Ejemplo |
|---|---|---|
| "M" | Devuelve el número del mes con ceros a la izquierda [01 a 12] |
<?php echo date("m"); ?> |
| "norte" | Devuelve el número del mes sin ceros a la izquierda [1 a 12] |
<?php echo date("n"); ?> |
| "M" | Devuelve las primeras 3 letras del nombre del mes [enero a diciembre] |
<?php echo date("M"); ?> |
| "F" | Devuelve el nombre del mes [enero a diciembre] |
<?php echo date("F"); ?> |
| "T" | Devuelve el número de días de un mes [28 a 31] |
<?php echo date("t"); ?> |
Parámetros del año
| Parámetro | Mareas Ideales para Lecciones | Ejemplo |
|---|---|---|
| "L" | Devuelve 1 si es un año bisiesto y 0 si no lo es. |
<?php echo date("L"); ?> |
| "Y" | Devuelve el formato de año de cuatro dígitos |
<?php echo date("Y"); ?> |
| "Y" | Devuelve el año en formato de dos dígitos (00 a 99). |
<?php echo date("y"); ?> |




