我必须在我的Java应用程序中打印EST时间.我使用以下方法将时区设置为EST:
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("EST"));
Run Code Online (Sandbox Code Playgroud)
但是当在这个时区中遵循夏令时时,我的代码不能打印正确的时间(它打印的时间减少1小时).
无论是否观察到夏令时,如何使代码始终能够正确读取正确的时间?
PS:我尝试将时区设置为EDT,但它没有解决问题.
我想知道在Java中最简单的方法是获取将来夏令时更改的日期列表.
这样做的一个相当不公平的方法是简单地迭代一堆多年的时间,针对TimeZone.inDaylightTime()测试它们.这会有效,而且我并不担心效率,因为每次我的应用程序启动时都只需要运行,但我想知道是否有更简单的方法.
如果你想知道为什么我这样做,那是因为我有一个javascript应用程序需要处理包含UTC时间戳的第三方数据.我想要一种可靠的方法在客户端从GMT转换到EST.请参阅Javascript - Unix时间到特定时区我写了一些javascript,它会做,但我想从服务器获得精确的过渡日期.