Funciones de Fecha y Hora en PHP - Plurasin

17 abril 2014

Funciones de Fecha y Hora en PHP


En todo lenguaje de programación la utilización de funciones de fecha y hora son esenciales para calcular el tiempo transcurrido, edades, años bisiestos, captura de eventos y un largo etcétera.

A continuación daremos un concepto relativamente simple de algunas de las funciones básicas de fecha y hora, ademas de un par de ejemplos de código en PHP.

Función time()

Esta función nos devuelve la fecha y hora Unix actual (timestamp) la cual viene a ser la cantidad de segundos que ha pasado desde el 1 de enero de 1970, pero en función a la hora y fecha de nuestro servidor (hosting).

Funcion getdate([timestamp])

Esta función nos permite obtener una colección de datos (array, matriz) con los diferentes datos de fecha y hora, organizados de acuerdo a indices especifico. Normalmente si no enviamos ningún parámetro, tomara como dato por defecto el momento actual osea el resultado de la función time(); lo cual no nos impide que nosotros coloquemos un numero entero con la fecha y hora Unix de manera directa.

Indices del array devuelto
Indice Descripción Rango de valores devueltos
"seconds" Representación numérica de los segundos 0 a 59
"minutes" Representación numérica de los minutos 0 a 59
"hours" Representación numérica de las horas 0 a 23
"mday" Representación numérica del día del mes 1 a 31
"wday" Representación numérica del día de la semana 0 (para Domingo) hasta 6(para Sábado)
"mon" Representación numérica de un mes 1 hasta 12
"year" Una representación numérica completa de una año, 4 dígitos Ejemplos: 1999 o 2003
"yday" Representación numérica del día del año 0 hasta 365
"weekday" Una representación textual completa del día de la semana Sunday hasta Saturday
"month" Una representación textual completa de un mes, como January o March January hasta December
0 Los segundos desde la Época Unix, similar a los valores devueltos por time() . Dependiente del Sistema, típicamente -2147483648 hasta 2147483647.

1:  <?php  
2:            $date_array=getdate();  
3:            foreach($date_array as $key=>$val)  
4:                      print ("$key = $val");  
5:  ?>  

Función date(formato[,timestamp])

Esta función nos permite obtener los datos de fecha y hora usando un formato especifico. Si solo se llena el formato devolverá los datos de momento actual, tal cual hubiéramos usado la función time(), pero podemos colocar un numero, en fecha y hora Unix, si deseamos trabajar con otra fecha especifica.
los formatos que puede recibir son los siguientes:


Los siguientes caracteres serán reconocidos en el parámetro formato
Carácter de formato Descripción Ejemplo de valores devueltos
Día --- ---
d Día del mes, 2 dígitos con ceros iniciales 01 a 31
D Una representación textual de un día, tres letras Mon hasta Sun
j Día del mes sin ceros iniciales 1 a 31
l ('L' minúscula) Una representación textual completa del día de la semana Sunday hastaSaturday
N Representación numérica ISO-8601 del día de la semana (añadido en PHP 5.1.0) 1 (para lunes) hasta 7 (para domingo)
S Sufijo ordinal inglés para el día del mes, 2 caracteres stndrd o th. Funciona bien conj
w Representación numérica del día de la semana 0 (para domingo) hasta 6 (para sábado)
z El día del año (comenzando por 0) 0 hasta 365
Semana --- ---
W Número de la semana del año ISO-8601, las semanas comienzan en lunes (añadido en PHP 4.1.0) Ejemplo: 42 (la 42ª semana del año)
Mes --- ---
F Una representación textual completa de un mes, como January o March January hastaDecember
m Representación numérica de una mes, con ceros iniciales 01 hasta 12
M Una representación textual corta de un mes, tres letras Jan hasta Dec
n Representación numérica de un mes, sin ceros iniciales 1 hasta 12
t Número de días del mes dado 28 hasta 31
Año --- ---
L Si es un año bisiesto 1 si es bisiesto, 0si no.
o Número de año ISO-8601. Esto tiene el mismo valor que Y, excepto que si el número de la semana ISO (W) pertenece al año anterior o siguiente, se usa ese año en su lugar. (añadido en PHP 5.1.0) Ejemplos: 1999 o2003
Y Una representación numérica completa de un año, 4 dígitos Ejemplos: 1999 o2003
y Una representación de dos dígitos de un año Ejemplos: 99 o 03
Hora --- ---
a Ante meridiem y Post meridiem en minúsculas am o pm
A Ante meridiem y Post meridiem en mayúsculas AM o PM
B Hora Internet 000 hasta 999
g Formato de 12 horas de una hora sin ceros iniciales 1 hasta 12
G Formato de 24 horas de una hora sin ceros iniciales 0 hasta 23
h Formato de 12 horas de una hora con ceros iniciales 01 hasta 12
H Formato de 24 horas de una hora con ceros iniciales 00 hasta 23
i Minutos, con ceros iniciales 00 hasta 59
s Segundos, con ceros iniciales 00 hasta 59
u Microsegundos (añadido en PHP 5.2.2). Ejemplo: 654321
Zona Horaria --- ---
e Identificador de zona horaria (añadido en PHP 5.1.0) Ejemplos: UTC,GMT,Atlantic/Azores
I (i mayúscula) Si la fecha está en horario de verano o no 1 si está en horario de verano, 0 si no.
O Diferencia de la hora de Greenwich (GMT) en horas Ejemplo: +0200
P Diferencia con la hora de Greenwich (GMT) con dos puntos entre horas y minutos (añadido en PHP 5.1.3) Ejemplo: +02:00
T Abreviatura de la zona horaria Ejemplos: EST,MDT ...
Z Índice de la zona horaria en segundos. El índice para zonas horarias al oeste de UTC siempre es negativo, y para aquellas al este de UTC es siempre positivo. -43200 hasta50400
Fecha/Hora Completa --- ---
c Fecha ISO 8601 (añadido en PHP 5) 2004-02-12T15:19:21+00:00
r Fecha con formato » RFC 2822 Ejemplo: Thu, 21 Dec 2000 16:01:07 +0200
U Segundos desde la Época Unix (1 de Enero del 1970 00:00:00 GMT)

1:  <?php  
2:            print date("d-m-Y")."\n";  
3:            print date("H:i:s")."\n";  
4:            print date("d/m/y h:i a")."< br>";  
5:            print date("d/m/Y h:i a",968932800)."<br>"; //en este caso usamos un valor entero de fecha Unix  
6:  ?>  

Función strtotime(fecha[,timestamp])

Esta función nos va a permitir pasar una fecha escrita en formato ingles (mes/dia/año) a una fecha Unix (número de segundos desde el 1 de Enero del 1970) o realizar operaciones con fechas o/y horas . El segundo parámetro sera utilizado para realizar los cálculos con fecha, usando por defecto el valor de la función time() u otro que se especifique de manera manual.

Función checkdate(mes,día,año)

Esta funcion nos ayudara a comprobar si la fecha ingresada es correcta o en todo caso posible. Nos devolvera TRUE en caso la fecha sea valida o FALSE en caso contrario.

Función date_default_timezone_set(zona_horaria)

Esta función nos ayudara a corregir la zona horaria de nuestro servidor, pues no siempre la hora de nuestro hosting, sea local o remoto, coincide con el de nuestra región. Para ello deberá enviar como parámetro la zona horaria que desea que use sus diferentes funciones; para saber que hay que colocar exactamente debemos visitar el listado de zonas horarias para seleccionar la nuestra ( Ejm. "america/lima").
Esta función solo sera efectiva durante la ejecución de la pagina, y a partir de la linea donde la utilicemos.



No hay comentarios:

Publicar un comentario