java - google - Diferencia entre EST y America/New_York husos horarios
time zone converter map (2)
¿Puede alguien decir, cuál es la diferencia entre las dos afirmaciones siguientes:
TimeZone.getTimeZone("America/New_York")
y
TimeZone.getTimeZone("EST")
En otras palabras, ¿por qué EST es diferente de America / New_York? También en mi solicitud, para obtener la zona horaria actual en los EE. UU., ¿Debo usar America / New_York o EST?
EST es UTC - 5 horas. America / New_York es EST en invierno y E * D * T en verano, por lo que en este momento Nueva York es UTC - 4 horas.
EST es la mitad de la zona horaria de Nueva York, efectivamente. Siempre es en horario estándar; no tiene la parte de horario de verano. En realidad, no es un huso horario adecuado, IMO: es la parte "estándar" de una zona horaria más completa. Cuando escribo sobre un huso horario que es solo un desplazamiento fijo y no está relacionado con un lugar en particular, prefiero usar "Etc / GMT + 5" o algo similar obviamente fijo. (En general, no me gusta ni siquiera "hora del este", ya que los diferentes lugares que observan "hora del este" pueden variar en sus transiciones DST. Es como llamar a una codificación "ASCII extendido" ... te dice algo información, pero no lo suficiente).
Por lo tanto, si desea conocer la hora local actual de Nueva York en un instante determinado, use America / New_York.
En general, manténgase alejado de las abreviaturas. De la documentación :
Para compatibilidad con JDK 1.1.x, también se admiten algunos otros ID de zona horaria de tres letras (como "PST", "CTT", "AST"). Sin embargo, su uso está obsoleto porque la misma abreviatura se usa a menudo para varias zonas horarias (por ejemplo, "CST" podría ser "Hora estándar central" y "Hora estándar de China"), y la plataforma Java solo puede reconocer una de ellos.
(Personalmente, también te aconsejo que te mantengas alejado de Date
and Calendar
, prefiriendo usar Joda Time siempre que sea posible. Sin embargo, esa es una cuestión diferente).