2012-09-13 11 views
5

Estoy tratando de poblar un gráfico utilizando la biblioteca highstocks. Estoy dando tiempo de época como entrada para el eje x. Puedo generar el gráfico con éxito, pero el problema es que el tiempo de época convertido por altura no coincide con mi zona horaria. Por ejemploHighstocks epoch time discordancia con la zona horaria

Mi efeméride de entrada es: 1347497100000

resultado presentes después de la conversión es: Jue 13 Sep 2012 00:45:00 GMT

resultado esperado es: Mié Sep 12 2012 17:45: 00 GMT-0700

Esta coincidencia de zona horaria es el valor incorrecto que se muestra en este momento.

He intentado establecer esta propiedad también, pero no hubo suerte:

global: { 
    useUTC: false 
}, 

estoy en la zona horaria del Pacífico. Cuando traté de hacerlo:

console.log(new Date) 

desde el mismo script, me devuelve el tiempo en tiempo pacífico.

¿Puede aconsejarnos cómo solucionar la discrepancia de esta zona horaria?

+0

c ¿haces un jsFiddle? –

+0

Aquí está el enlace jsfidle: http://jsfiddle.net/SLB4P/1/ – Raghuveer

Respuesta

9

Puede ser una buena idea leer la referencia de API global.useUTC opciones de nuevo

globales que no se aplican a cada gráfico. Estas opciones, como las opciones de lang, se deben configurar mediante el método Highcharts.setOptions .

Highcharts.setOptions({ 
    global: { 
     useUTC: false 
    } 
}); 

Lo que significa que es la propiedad global no es realmente aplicable a cualquier gráfico en particular y Highcharts sería ciegamente ignorar la opción incluso si se establece en una carta individual como

var chart=new Highcharts.StockChart({ 
{ 
    ... 
    global: { 
     useUTC: false 
    } 
    ... 
}); 

En corto establecer la opción global explícitamente utilizando el método Highcharts.setOptions antes de crear cualquier objeto de gráfico
Local/Client Time Zone | Highchart & Highstock @ jsFiddle

+1

Gracias por su respuesta! Esto funcionó. Lo aprecio. – Raghuveer

+0

Ah, Global vs.Opciones de gráfico local. Inesperado. Sincero gracias. Esto bien puede ser beneficioso en la próxima implementación. +1. –

0

Los problemas de conversión son muy frecuentes cuando se trata de fechas y horas.

This link here shows the solution, to multiply by 1000, to get correct version.

Espero que ayude.

+1

Gracias por responder, pero mi problema no es sobre sec vs milisegundo, está eligiendo la zona horaria incorrecta. Para verificar mi valor de época, probé en línea con 2 convertidores de época diferentes y obtuve 2 valores de diferencia. Uno da para la zona horaria GMT y otro da para la zona horaria del Pacífico. Necesito una zona horaria pacífica, pero estoy obteniendo la zona horaria gmt cuando trazo con Highcharts/Highstocks. También traté de multiplicar mi valor por 1000, pero la conversión me da un año 6240. ¿Algún consejo? aquí está el enlace jsfidle también: http://jsfiddle.net/SLB4P/1/ – Raghuveer

+0

Clarificación impresionante. Sí. Echando un vistazo. Ah, entonces ya veo. +1. Todo lo mejor. –

Cuestiones relacionadas