我和EST和CST的时间相同。请找到下面的代码。
Calendar.getInstance(TimeZone.getTimeZone("EST"));
和
Calendar.getInstance(TimeZone.getTimeZone("CST"));
都返回同一时间。
请帮我解决此问题。
答案 0 :(得分:5)
您获得相同时间的原因是因为EST返回标准时间而CST是夏令时。
Date today = new Date(); DateFormat df = new SimpleDateFormat("HH:mm:SS z"); df.setTimeZone(TimeZone.getTimeZone("US/Eastern")); String time = df.format(today); System.out.println(time); df.setTimeZone(TimeZone.getTimeZone("EST")); time = df.format(today); System.out.println(time); df.setTimeZone(TimeZone.getTimeZone("CST")); time = df.format(today); System.out.println(time);
这是输出:
04:55:839 EDT 03:55:839 EST 03:55:839 CDT
EST时间不是正确的时间,因为它现在实际上是04:55,所以US/Eastern
会给你正确的(EDT)时间。根据经验,我建议始终使用US/Eastern
和US/Central
格式来保证安全。