Estamos utilizando un selector de fecha jQuery en nuestro sitio web para seleccionar fechas y horas para reservas. El calendario se establece actualmente en PST y esto causa errores cuando los usuarios intentan acceder desde otras zonas horarias. ¿Deberíamos configurar el servidor para que sea UTC y hacer que la aplicación seleccione automáticamente la zona horaria del usuario según su dirección IP? Tenía curiosidad acerca de si también deberíamos incluir la selección manual ya que la selección automática puede fallar (es decir, cuando el usuario trabaja a través del proxy). Cualquier consejo sería muy apreciado.selector de fecha jQuery - TimeZone Issue
Respuesta
Me atrevo a adivinar que la interfaz no necesita tener NINGUNA comprensión de las zonas horarias en absoluto.
Cuando seleccionan una hora del datepicker, simplemente pásenla nuevamente como está (si seleccionaron las 9PM, simplemente pasaron las 9PM). En el servidor, convierta esa fecha a & en una marca de tiempo.
En ese momento, puede realizar ajustes para la zona horaria del usuario en función de IP, o como quiera implementarlo. Puede simplemente sumar o restar horas de su tiempo objetivo para que coincida con la zona horaria del usuario.
Sin embargo, esto significa que también deberá volver a analizar los momentos en que los muestra para asegurarse de que se muestren como deberían. Por lo tanto, si está almacenando una marca de tiempo Unix, por ejemplo, asegúrese de imprimir una fecha formateada según la ubicación del usuario.
Definitivamente debe permitir que el usuario elija su propia zona horaria para anular, sin embargo, lo hace de forma predeterminada.
El usuario ya selecciona su zona horaria que está en su configuración de sistema operativo. Use javascript to detect this timezone (not based on IP), y páselo junto con el valor del selector de fecha a la aplicación del servidor. Puede convertir la hora local a hora UTC en Javascript o en el lado del servidor, según prefiera. Pero mantenga la aplicación del servidor en UTC, ya que es una buena práctica e internamente eso es lo que algunos lenguajes usan, por ejemplo, java.util.Date
en Java.
Si sólo necesita mostrar veces en la interfaz web:
- tiempo de cálculo en el cliente como segundos (tiempo Unix) usando date.getTime()/1000; respectivamente Date.setTime (utc_seconds * 1000); en cuenta que Javascript utiliza milisegundos
- transmisión todo momento entre el cliente y el servidor como segundos (tiempo Unix) Tiempo de
- tienda como marcas de hora UTC (lo más probable es que su back-end soporta la conversión a una marca de hora UTC)
Si necesita hacer otras cosas en el servidor con tiempo legible para los humanos (por ejemplo, enviar un correo electrónico que incluya una hora de reunión):
- capturar la zona horaria en el cliente (ej.usando jsTimezoneDetect) y guardarlo en el servidor
- utilizar la zona horaria capturado para los cálculos del lado del servidor para el usuario
Advertencias:
- sin importar el mecanismo, la detección de ubicación basada en IP es imperfecto; No lo usaría para la detección de zona horaria
- la mayoría de los sistemas que no son de Windows usan el tz database; si su back-end es Microsoft, puede necesitar convert para las zonas horarias estándar de Windows
- mientras la detección de zona horaria aumenta, las cosas pueden salir mal, ya que algunas jurisdicciones cambian las zonas horarias ad hoc;
- para su aplicación, predigo la mayor parte del dolor en los cambios de las reglas de zona horaria si admite reuniones recurrentes; Los SO suelen incluir esto en los service packs
- Puede considerar un mecanismo para que el usuario configure manualmente la zona horaria (posiblemente después de la autodetección)
- 1. JAVA TimeZone issue EDT Vs EST
- 2. jQuery - Control de selector de fecha móvil
- 3. jQuery de fecha y hora MVC3 selector
- 4. Selector de fecha jQuery - deshabilitar fechas pasadas
- 5. jQuery-autocomplete scroll issue
- 6. jQuery datatables issue
- 7. jQuery bxSlider issue
- 8. Código de selector de fecha dinámico de JQuery
- 9. Jquery formato de fecha selector de fechas no funciona
- 10. selector de fecha de jquery dividido en campos múltiples
- 11. jQuery alertnative to 'Timeframe' (selector de rango de fecha)
- 12. jQuery selector de fecha: Seleccionar semanas a la vez
- 13. ilegible, jqGrid después Jquery selección Selector de fecha
- 14. jQuery Selector de fecha no funciona en Chrome
- 15. jquery selector de fecha y hora minDate dynamic
- 16. Jquery UI Selector de fecha ... solo permite los viernes?
- 17. JQuery ui - selector de fecha, deshabilitando fechas específicas
- 18. selector de fecha en jqGrid, ejemplo simple?
- 19. Fecha de inicio de aprobación de Paypal timezone?
- 20. selector de fecha años mínimo
- 21. Selector de fecha en Android
- 22. jQuery selector de fechas: evitar el cierre selector al hacer clic en una fecha
- 23. jQuery selector vacío (selector nulo)
- 24. Rails 3 fecha del selector de fecha de jquery no guardada en la base de datos
- 25. TimeZone y MessageFormat con los parámetros de fecha
- 26. jQuery selector
- 27. jquery: selector []?
- 28. PHP Default Timezone Config
- 29. jQuery selector de fechas getMinDate '+ 1d'
- 30. jQuery selector de imagen