Trabajar con fechas y horas.
¿Qué es la función date() ?
La función date() de PHP es una función incorporada que simplifica el trabajo con tipos de datos de fecha. La función date()se usa para formatear una fecha u hora en un formato legible por humanos. Se puede usar para mostrar la fecha de publicación del artículo. registrar los últimos datos actualizados en una base de datos.
En este tutorial, aprenderás
- Sintaxis de date() y ejemplo
- ¿Qué es un sello de tiempo?
- Obtener una lista de identificadores de zona horaria disponibles
- PHP establece la zona horaria mediante programación
- Función PHP Mktime
- Función date()
- Parámetros de tiempo
- Parámetros del día
- Parámetros de mes
- Parámetros del año
Sintaxis de date() y ejemplo
Sintaxis básica:
<?php date(format,[timestamp]); ?>
AQUÍ,
- «date (…)» es la función que devuelve la hora actual en el servidor.
- «format» es el formato general que queremos que sea nuestra salida, es decir;
- «Ymd» para el formato de fecha PHP AAAA-MM-DD
- «Y» para mostrar el año actual
- «[timestamp]» es opcional. Si no se ha proporcionado ninguna marca de tiempo, PHP obtendrá el uso de la fecha y hora actual de php en el servidor.
Veamos un ejemplo básico que muestra el año actual.
<?php echo date("Y"); ?>
Salida:
2020
¿Qué es timestamp?
Una marca de tiempo es un valor numérico en segundos entre la hora actual y el valor al 1 de enero de 1970 00:00:00 hora media de Greenwich (GMT).
El valor devuelto por la función horaria depende de la zona horaria predeterminada.
La zona horaria predeterminada se establece 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 a la URL http: //localhost/phptuts/timestamp.php
Nota: el valor de la marca de tiempo no es una 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 zonas horarias compatibles.
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
$timezone_identifiers = DateTimeZone :: listIdentifiers (); llama al método estático listIdentifiers de la zona DateandTime Zone integrada en la clase.
El método listIdentifiers devuelve una lista de constantes asignadas a la variable $timezone_identifiers.
foreach {…} itera a través de la matriz numérica e imprime los valores.
Suponiendo que guardó el archivo list_time_zones.php en la carpeta phptuts, busque 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 establecer la zona horaria predeterminada desde un script PHP.
La zona horaria establecida será utilizada por todos los scripts de función php de fecha. 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 de acuerdo con la zona horaria predeterminada establecida en php.ini.
Luego cambia la zona horaria predeterminada a Asia / Calcuta y muestra la hora nuevamente.
<?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, busque la URL http: //localhost/phptuts/set_time_zone.php
mktime
La función mktime devuelve la marca de tiempo en un formato Unix .
Tiene la siguiente sintaxis.
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
AQUÍ,
- «Mktime (…)» es la función de marca de tiempo de make php
- «Hora» es opcional, es el número de horas
- «Minuto» es opcional, es la cantidad de minutos
- «Segundo» es opcional, es la cantidad 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
- «Is_dst» es opcional, se utiliza para determinar el horario de verano (DST). 1 es para DST, 0 si no lo es y -1 si no se conoce.
Veamos ahora un ejemplo que crea una marca de tiempo para la fecha 13/10/2025 usando la función mktime.
<?php echo mktime(0,0,0,10,13,2025); ?>
AQUÍ,
- «0,0,0» es la hora, minutos y segundos respectivamente.
- «13» es el día del mes
- «10» es el mes del año
- «2025» es el año
Salida:
1760328000
Referencia de función de fecha PHP
La siguiente tabla muestra los parámetros comunes utilizados cuando se trabaja con la función date().
Parámetros de tiempo PHP
Parameter |
Description |
Example |
---|---|---|
“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"); ?> |
“h”,”H” |
Devuelve la hora con ceros a la izquierda [01 a 12], [00 a 23] respectivamente |
<?php echo date("h"); echo date("H"); ?> |
“i”,”s” |
Devuelve los minutos / segundos con ceros a la izquierda [00 a 59] |
<?php echo date("i"); echo date("s"); ?> |
dias
Parameter |
Description |
Example |
---|---|---|
“d” |
Devuelve el dia del mes en 2 dígitos [01 to 31] |
<?php echo date("d"); ?> |
“j” |
Devuelve el dia del mes [1 to 31] |
<?php echo date("j"); ?> |
“D” |
Devuelve las 3 primeras letras del nombre del día[Sub to Sat] |
<?php echo date("D"); ?> |
“l” |
Devuelve el nombre del día de la semana[Sunday to Saturday] |
<?php echo date("l"); ?> |
“w” |
Devuelve el día de la semana sin ceros a la izquierda [0 a 6] El domingo está representado por cero (0) hasta el sábado representado por seis (6) |
<?php echo date("w"); ?> |
“z” |
Devuelve el día del año sin espacios iniciales [de 0 a 365] |
<?php echo date("z"); ?> |
meses
Parameter |
Description |
Example |
---|---|---|
“m” |
Devuelve el número del mes con ceros a la izquierda [01 a 12] |
<?php echo date("m"); ?> |
“n” |
Devuelve el número del mes sin ceros a la izquierda [01 a 12] |
<?php echo date("n"); ?> |
“M” |
Devuelve las primeras 3 letras del nombre del mes [Jan to Dec] |
<?php echo date("M"); ?> |
“F” |
Devuelve el nombre del mes[January to December] |
<?php echo date("F"); ?> |
“t” |
Devuelve el número de días en un mes[28 to 31] |
<?php echo date("t"); ?> |
años
Parameter |
Description |
Example |
---|---|---|
“L” |
Devuelve 1 si es un año bisiesto y 0 si no es un año bisiesto |
<?php echo date("L"); ?> |
“Y” |
Devuelve formato de año de cuatro dígitos |
<?php echo date("Y"); ?> |
“y” |
Devuelve dos (2) dígitos año formato (00 a 99) |
<?php echo date("y"); ?> |