En ocasiones nos encontramos que tenemos una web con varios lenguajes para distintos países y/o que la hora del servidor no coincide con el uso horario del país donde nos encontramos.
En este caso, podemos definir el uso horario que utilizará nuestro sitio, prevaleciendo sobre el definido en el servidor.
La función a utilizar es date_default_timezone_set. Su uso es muy sencillo:
<?php
//El servidor tiene configurada la hora local de España
echo date("d-m-Y H:i:s")."<br>";
date_default_timezone_set("Mexico/General");
echo date("d-m-Y H:i:s");
?>
nos devuelve:
19-02-2015 18:19:51
19-02-2015 11:19:51
19-02-2015 11:19:51
Podemos ver todos los timezone en php.net (http://php.net/manual/es/timezones.php).
Obtener datos de geolocalización del usuario
Para obtener los datos de geolocalización del usuario que visita nuestra web, utilizaremos la función geoip_country_code3_by_name
<?php
$nato= geoip_country_code3_by_name($_SERVER['REMOTE_ADDR']);
echo "Código Nato: $nato";
?>
En este caso devolvería:
Código Nato: ESP
Lo que nos devuelve el código NATO de la localización física del usuario. En función de este código de país NATO (abreviatura inequívoca de tres caracteres identificativa de cada país).
Podéis encontrar la relación completa de códigos de países NATO en:
Obteniendo el código NATO del usuario, podemos relacionarlo de manera sencilla con su timezone y así personalizar el uso horario de nuestra web en función de la geolocalización de nuestros usuarios.
No hay comentarios:
Publicar un comentario