2012-07-25 17 views
11
var date = new Date(1257397200000​); 
document.write(date); 
​ 

Ran el código anterior llegué Wed Nov 04 2009 23:00:00 GMT-0600 (Central Standard Time)Cómo convertir marca de tiempo Unix tener JavaScript objeto fecha (considere zona horaria)

Busco una manera de crear el objeto fecha basada en una zona horaria diferente, digamos por que sello de tiempo Deseo obtener un objeto de fecha como Thursday, November 5th 2009, 00:00:00 (GMT -5).

Tenga en cuenta que las fechas son diferentes según las dos zonas horarias anteriores, aunque representan el mismo punto en el tiempo. Estoy en CST, ¿es por eso que el objeto creado se genera usando CST?

Gracias.

+0

Sí, es muy probable que tenga su zona horaria (local). No conozco la biblioteca, pero debería haber un método en algún lugar para elegir la zona horaria en la que informar las cosas. Tenga en cuenta que la marca de tiempo no debe cambiar. –

+0

Sí, la marca de tiempo no cambiará. La respuesta a mi pregunta nos parece genial, pero también puede encontrar [esta respuesta] (http://stackoverflow.com/a/4322641/1413598) útil. – sozhen

Respuesta

15

No, estas fechas no son diferentes ya que no representan puntos diferentes en el tiempo. Ambos representan Thu, 05 Nov 2009 05:00:00 GMT.

Date objeto en JavaScript es zona horaria independiente, solo representa un punto en el tiempo. El hecho de que Date.toString() incluya la zona horaria es muy engañoso, no hay información de zona horaria en Date. Es solo una envoltura alrededor de milisegundos desde la época.

La zona horaria que ve se basa en la configuración regional del sistema operativo/navegador. No puede crear el objeto Date en diferentes zonas horarias. Considere usar la familia de métodos getUTC*() para obtener valores agnósticos de zona horaria del navegador.

BTW su ejemplo imprime código:

Thu Nov 05 2009 06:00:00 GMT+0100 (CET) 

en mi equipo - y esto sigue siendo el mismo punto en el tiempo.

Ver también

+2

+1! Me encantó que haya enfatizado el punto 'representa un punto en el tiempo '. – Adi

+1

"No se puede crear el objeto Date en diferentes zonas horarias". Gracias por mencionar esto. – sozhen

+0

Entonces, básicamente, la respuesta es que no necesita preocuparse por la zona horaria del usuario al convertir la marca de tiempo en Fecha porque se hace automáticamente, ¿no? –

Cuestiones relacionadas