Pregunta

Las zonas horarias puede ser difícil elegir entre docenas de opciones. Me gustaría hacer este proceso más simple. Vi algunas formas en la naturaleza que puede hacer el mejor conjetura. Me Goggled para una solución, pero sin ninguna suerte. No cualquiera tiene una idea de cómo hacerlo?

¿Fue útil?

Solución

Javascript:

var today = new Date();

alert( today.getTimezoneOffset() );

Esto le dará al offset (GMT-X), pero no el nombre de zona horaria real. Tenga en offset puede corresponder con múltiples zonas horarias y también tienen que tener en cuenta el ahorro de luz diurna mente misma GMT. Sin embargo, este es probablemente el lugar más fácil para empezar, sin llegar a dar a los usuarios elegir su zona horaria a partir de un menú desplegable.

Otros consejos

Se podría tratar de detectar un país a los usuarios, haciendo coincidir su dirección IP a una serie de listas. Hay diferentes maneras de lograr esto, pero el mejor es el uso de esta API .

Un ejemplo de uso sería: http://nl.ae/ iptocapi.php? type = 1 & ip = 00.00.00.00 . Esto devolverá el código de país de esa dirección IP. Entonces es muy fácil para que coincida con el código de país con la zona horaria.

Una vez que haya encontrado la zona horaria de esta manera se puede usar como el valor predeterminado en un cuadro desplegable.

he encontrado una solución mucho mejor y robusto aquí: http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ .

Como explica el autor, Date.getTimezoneOffset() es inconsistente.

Puede utilizar JavaScript para determinar más o menos fiable zona horaria offset. HTTP, que yo sepa, no proporciona ningún medio para determinar la zona horaria del cliente en el servidor.

El uso de JavaScript:

<input type="hidden" id="visitorTZ" name="visitorTZ" />
<script type="text/javascript">
    d = new Date();
    document.getElementById('visitorTZ').value = d.getTimezoneOffset()/60; 
</script>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top