EST实际上是纽约时区的 一半 。它 始终 处于标准时间-没有夏令时。IMO本身并不是一个正确的时区,它 是 整个时区的“标准”部分。当写的时区只是 一个固定的偏移量,并且与某个特定位置无关时,我更喜欢使用“ Etc / GMT + 5”或类似的固定方式。(我通常甚至不喜欢“ Eastern Time”之类的东西,因为观察“ Eastern Time”的不同地方的DST转换可能会有所不同。这有点像调用编码“扩展ASCII”……它告诉您 一些 信息,但还不够。)
因此,如果您想知道任何特定时刻纽约的 实际 本地时间,请使用America / New_York。
通常,请远离缩写。从文档中:
为了与JDK 1.1.x兼容,还支持其他三个字母的时区ID(例如“ PST”,“ CTT”,“ AST”)。但是,不赞成使用它们,因为相同的缩写通常用于多个时区(例如,“ CST”可以是美国的“ Central Standard Time”和“ China Standard Time”),并且Java平台只能识别以下一种他们。
(我个人还建议您远离Date
和Calendar
,并尽可能使用Joda Time。但这确实是另一回事。)