2011-03-29 18 views
5

Tenemos una función simple la duración, funciona bien en todos los navegadores aparte de Safari en una Mac (funciona en Chrome en Mac, funciona en Safari en la PC)Javascript en Mac (Safari) toLocaleTimeString() rarezas

Por ejemplo,

new Date().toLocaleTimeString() 

esperamos que esto dé un tiempo de formato como esto:

11:59:25

Sin embargo, en el Mac Safari obtenemos este

11:59:25 GMT + 01: 00

Cualquier cálculo que hacemos en estos tiempos son una hora a cabo (la adición de la hora en el cálculo)

por ejemplo 11:59:25 - 11:59:25 = 01:00:00 (debería ser 00:00:00)

¿Alguna idea?

¿Por qué está agregando la zona horaria a la cadena? esto nos causó un pequeño problema con nuestra base de datos

¿Por qué está agregando una hora al aguijón?

¿Por qué solo en ese maldito navegador!

Gracias por su tiempo.

+0

Aunque se trata de una cuestión mayor, estoy muy interesado en una respuesta así. – KonstantinK

Respuesta

3

El método toLocaleTimeString se basa en el sistema operativo subyacente en las fechas de formato. Convierte la fecha en una cadena utilizando la convención de formato del sistema operativo donde se ejecuta la secuencia de comandos. Por ejemplo, en los Estados Unidos, el mes aparece antes de la fecha (15/04/98), mientras que en Alemania la fecha aparece antes del mes (15.04.98).

Métodos como getHours, getMinutes y getSeconds dan resultados más consistentes que toLocaleTimeString. Utilice toLocaleTimeString cuando la intención es mostrar al usuario una cadena formateada utilizando el formato regional elegido por el usuario. Tenga en cuenta que este método, debido a su naturaleza, se comporta de manera diferente según el sistema operativo y la configuración del usuario.

Fuente: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString

0

En OS X, el formato de hora pueden ajustar con exactitud por el menú Apple> Preferencias del Sistema> Idioma & Región> Avanzado> Tiempo. El formato utilizado por toLocaleTimeString() es el formato Largo. Puede ajustar el formato según sus necesidades, sin embargo, tenga en cuenta que este cambio será efectivo en todo el sistema.

Fuente: Apple Support - Customize Formats

Cuestiones relacionadas