Me gustaría poder adivinar el desplazamiento de la zona horaria del usuario y si se aplica o no el horario de verano. Actualmente, el código más definitivo que he encontrado para esto es aquí:Javascript/PHP y zonas horarias
http://www.michaelapproved.com/articles/daylight-saving-time-dst-detect/
Así que esto me da el desplazamiento junto con el indicador de DST.
Ahora, quiero usar esto en mis scripts PHP para poder mostrar la fecha/hora local para el usuario ... pero, ¿qué es lo mejor para esto? Me imagino que tengo 2 opciones:
a) Elija una zona horaria aleatoria que tenga el mismo ajuste de compensación y horario de verano de la salida de timezone_abbreviations_list(). Luego, llame a date_timezone_set() con esto para aplicar el tratamiento correcto a la hora.
b) Continúe tratando la fecha como UTC pero solo agregue algunas marcas de tiempo para agregar el número apropiado de horas.
Mi sensación es que la opción B es la mejor manera. La razón de esto es que con A, podría estar usando una zona horaria que, aunque es correcta en términos de desplazamiento/dst, puede tener algunas reglas oscuras detrás de la escena que podrían dar resultados sorprendentes (no conozco ninguna, pero no obstante No creo que pueda descartarlo).
Volvería a verificar la zona horaria con Javascript al inicio de cada sesión para capturar cuando la zona horaria del usuario cambia (muy poco probable) o pasan al período DST.
Disculpe por el vuelco del cerebro: en realidad me acaba de asegurar que los enfoques anteriores son válidos.
Gracias,
James.
Hola David, Muchas gracias por su respuesta. Su punto sobre la programación ha desatado una gran cantidad de conversación aquí muy apreciada. Revisando ese enlace ahora ... James. – James