Mini programa WeChat: cosas sobre marcas de tiempo y objetos de fecha
Los amigos que han realizado desarrollo web encontrarán más o menos el problema de la conversión de hora. Es diferente en los navegadores Chrome y Safari, como el informe de errores o el formato de hora, etc. Aquí compartiré mi experiencia. problemas encontrados durante el proceso de desarrollo
Con respecto a los problemas de tiempo, todos los que han creado calendarios saben que el procesamiento de zona horaria global, o la conversión de formato de hora o marca de tiempo, aquí resumiré estas situaciones. Discuta una por una
Dado que algunos servicios en el subprograma WeChat requieren reservas, habrá un problema de desviación de la hora de las reservas en el extranjero a las nacionales. La razón fundamental es que al agregar Fecha (), se obtendrá la fecha actual Hora del sistema. la mayoría de los teléfonos móviles están configurados para configurar la hora automáticamente, por lo que se producirá el problema de la desviación de la zona horaria.
Piensa: Si el producto proviene de un determinado lugar, el tiempo de reserva se debe calcular para la zona horaria de ese lugar. Por lo tanto, debemos mantener la relación entre la ubicación y la zona horaria
Acerca del cálculo de la zona horaria, porque solo uso la hora de Beijing como ejemplo:
En Safari, al ejecutar la nueva Fecha( "yyyy -MM-dd hh:mm:ss"), aparece un error "fecha no válida" o un problema de conversión. El motivo es que Safari no admite este formato, por lo que es necesario ajustar el formato.
El estándar ECMA-262 (DateTime String Format) especifica el formato de fecha como AAAA-MM-DDTHH:mm:sss.ssZ, donde T representa el punto de inicio del tiempo y Z representa relativo a UTC (Universal Hora coordinada - Hora Atómica Internacional) compensación horaria. Puede ser Z, +HH:mm o -HH:mm.
Reflexiones: Dependiendo de su preferencia, reemplace la expresión regular con el estándar/delimitador o agregue una T en el medio del espacio en blanco.
Como puede ver en la documentación, admite Convertir la marca de tiempo de milisegundos directamente en un objeto Fecha es una práctica normal.
PD: Sin embargo, la hora real transferida en el lado iOS de la aplicación WeChat es la hora UTC, por lo que debe sincronizarse con la hora de la zona horaria actual para no afectar la hora de Android. Como resultado, se convierte dos veces. Resuelva el problema del cálculo del tiempo.
Referencia fuente del estándar ECMA-262: /p/a11196377048