1. Configurar hora local
A partir de PHP 5.1 podemos encontrarnos en el archivo de configuración "php.ini" un nuevo valor que nos permitirá configurar una zona horaria local predeterminada. En linux este archivo esta localizado en la ruta "/etc/php5/apache2/php.ini" y para configurar la zona horaria podremos hacerlo siguiendo estos pasos:
- Abrir el archivo con un editor de texto y localizar la sección [Date]
- Modificar la variable "date.timezone" asignándole una zona horaria compatible
- Si la variable comienza con punto y coma ";" deberemos eliminarlo para su uso
En el siguiente enlace podremos consultar todas las zonas horarias compatibles: Zonas Horarias
Si no disponemos o no tenemos acceso al archivo podemos aplicar una zona horaria a nuestro script utilizando la siguiente función (se aplicará a todo el script):
date_default_timezone_set("Europe/Madrid");También podremos recuperar la zona horaria del lugar con la siguiente función:
$horario = date_default_timezone_get();
2. Formato de la fecha
La función que vamos a utilizar en este caso va a ser: "date()". Que nos permite recuperar una fecha o un tiempo desde el "timestamp" a parte de poder darle el formato deseado. La función utiliza la siguiente declaración:
$fecha = date("format", $timestamp);La variable "$timestamp" sera un tiempo que hemos almacenado previamente al que le vamos a aplicar un formato a través del parámetro "format". Podremos utilizar la función con un único parámetro para recuperar la fecha actual, a continuación se muestra un ejemplo:
$fecha = date("d/m/y"); // Salida: 05/08/2013El formato puede estar separado por: - o /
En el siguiente enlace podemos encontrar todos los formatos soportados: Formatos Soportados
3. Almacenar "timestamp" en una variable
Con el uso de la funcion "time()" podremos recuperar el "timestamp" y almacenarlo en una variable utilizando la siguiente declaración:
$tiempo = time();
Otra función mucho mas completa que la anterior es la siguiente:
$tiempo = strtotime("today");Nos permite recuperar el tiempo indicando el formato deseado en los paréntesis. Esta función admite como parámetros claves y abreviaturas en Ingles como muestra el ejemplo:
$tiempo = strtotime("August 05 2013");
La función reconoce como parámetros:
- Nombres de mes
- Días de la semana
- Unidades de tiempo: year, month, fortnight, week, day, hour, minute, second, am, pm
- Algunas palabras: ago, now, last, next, this, tomorrow, yesterday
- Mas y menos: + y -
- Todos los números
- Zonas horarias: gmt, pdt, akst
Se pueden combinar de muchas maneras posibles, algún ejemplo puede ser:
$fechaImportante = strtotime("tomorrow"); $fechaImportante = strtotime("last saturday"); $fechaImportante = strtotime("8pm + 3 days"); $fechaImportante = strtotime("next year gmt"); $fechaImportante = strtotime("this 4am");Si queremos saber la diferencia de tiempo entre una fecha almacenada y la fecha actual, podremos utilizar las siguientes declaraciones:
$tiempo = time(); $resultado = $tiempo - $fechaAlmacenada;Pero la salida nos dará un tiempo en segundos, podríamos convertirlo a horas de la siguiente manera:
$resultado = (($tiempo - $fechaImportante)/60)/60;
No hay comentarios:
Publicar un comentario