我必须在我的Java应用程序中打印EST时间.我使用以下方法将时区设置为EST:
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("EST"));
Run Code Online (Sandbox Code Playgroud)
但是当在这个时区中遵循夏令时时,我的代码不能打印正确的时间(它打印的时间减少1小时).
无论是否观察到夏令时,如何使代码始终能够正确读取正确的时间?
PS:我尝试将时区设置为EDT,但它没有解决问题.
如果我在GMT时区的计算机上执行以下操作
TimeZone timeZone = TimeZone.getTimeZone('IST'); // India Standard Time
Calendar calendar = Calendar.getInstance(timeZone);
System.out.println(calendar.getTime());
Run Code Online (Sandbox Code Playgroud)
它打印
10月31日星期五15:18:22 GMT 2014
为什么日期印在计算机的默认时区,而不是TimeZone在Calendar与构建?