EST - фактически половина часового пояса Нью-Йорка.Это всегда в стандартное время - в нем нет летнего времени.Это не на самом деле собственно часовой пояс сам по себе, IMO - это «стандартная» часть более полного часового пояса.Когда пишете о часовом поясе, который является просто фиксированным смещением и не связан с конкретным местом, я бы предпочел использовать «Etc / GMT + 5» или что-то подобное, очевидно, фиксированное.(Мне вообще не нравится даже «восточное время» и т. П., Поскольку разные места, в которых наблюдается «восточное время», могут различаться по своим переходам DST. Это немного похоже на вызов кодировки «расширенный ASCII» ... это говорит вам некоторая информация, но не вполне достаточно.)
Поэтому, если вы хотите узнать фактическое местное время для Нью-Йорка в любой конкретный момент, используйте America / New_York.
В общем, держитесь подальше от сокращений.Из документации :
Для совместимости с JDK 1.1.x, некоторыми другими трехбуквенными идентификаторами часовых поясов (такими как "PST", "CTT", "AST")также поддерживаются.Однако их использование не рекомендуется, потому что одна и та же аббревиатура часто используется для нескольких часовых поясов (например, «CST» может быть «Центральное стандартное время США» и «Стандартное китайское время»), и тогда платформа Java может распознавать только одно изих.
(Лично я бы посоветовал вам держаться подальше от Date
и Calendar
, предпочитая использовать Joda Time везде, где это возможно. Это другой вопрос, хотядействительно.)