Las zonas horarias pueden ser difíciles de seleccionar entre docenas de opciones. Me gustaría simplificar este proceso. Vi algunas formas en la naturaleza que pueden hacer la mejor conjetura. Miré por una solución pero sin suerte. ¿Alguien tiene una idea de cómo hacerlo?¿Cómo detectar la zona horaria del usuario en los formularios de registro?
Respuesta
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 cuenta que el mismo desplazamiento GMT puede corresponderse con varias zonas horarias y también debe tener en cuenta los ahorros de luz diurna. Sin embargo, este es probablemente el lugar más fácil para comenzar, salvo que los usuarios elijan su zona horaria desde un menú desplegable.
Puede usar JavaScript para determinar con mayor o menor fiabilidad la zona horaria. 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>
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 lo mejor es usar this 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 bastante fácil hacer coincidir el código de país con la zona horaria.
Una vez que haya encontrado la zona horaria de esta manera, puede usarla como valor predeterminado en un cuadro desplegable.
Encontré una solución mucho mejor y más robusta aquí: http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/.
Como explica el autor, Date.getTimezoneOffset()
es inconsistente.
- 1. ¿Cómo detectar automáticamente la zona horaria del usuario?
- 2. cómo detectar la zona horaria del cliente?
- 3. Cómo ignorar la zona horaria del usuario y forzar la fecha() utiliza la zona horaria específica
- 4. Cómo obtener la zona horaria actual del usuario en C#
- 5. obtener usuario zona horaria
- 6. Determinar la zona horaria de un usuario
- 7. Posición del GPS en la zona horaria
- 8. ¿Cómo obtener la zona horaria del cliente?
- 9. Viendo fecha/hora en la zona horaria del usuario - en el lado del cliente
- 10. Cómo convertir el tiempo de fecha de una zona horaria a otra zona horaria
- 11. Registro Apache Log4j con zona horaria específica
- 12. ajustar la zona horaria
- 13. zona horaria local del dispositivo
- 14. ¿cómo lidias con los problemas de la zona horaria?
- 15. Rails 3: Ajuste de la zona horaria a los usuarios actuales de zona horaria
- 16. ¿Cómo cambio la zona horaria en CakePHP?
- 17. ¿Cómo se burla de la zona horaria del navegador?
- 18. ¿Cómo son los sitios principales que detectan la zona horaria?
- 19. CÓMO OBTENER: Configuración de la zona horaria del servidor FTP?
- 20. Realizar una acción diaria en un momento específico según la zona horaria local del usuario
- 21. Cómo configurar correctamente la zona horaria mysql
- 22. Rieles: ¿Cómo conseguir la zona horaria del usuario actual cuando se utilizan Heroku
- 23. Rieles: obtenga #beginning_of_day en la zona horaria
- 24. postgres zona horaria predeterminada
- 25. zona horaria por Coordinar
- 26. Convertir UTC DateTime a otra zona horaria
- 27. ¿Cómo puedo obtener la zona horaria del servidor local?
- 28. Cambiar la zona horaria en MSYS
- 29. java incorrecta zona horaria
- 30. cómo cambio la zona horaria usando adb
Lo único que me gustaría notar es que 'getTimezoneOffset()' parece devolver la cantidad de tiempo que GMT es el desplazamiento de la zona horaria del usuario se compensa, y no al revés. es decir, cuando en el horario estándar del este de América del Norte, '(nueva fecha()). GetTimezoneOffset()/60' devuelve' 5', cuando EST es realmente igual a GMT-05: 00, no a GMT + 05: 00. – gabriel