EST和CST的时间是一样的。请查看下面的代码
Calendar.getInstance(TimeZone.getTimeZone("EST"));
和Calendar.getInstance(TimeZone.getTimeZone("CST"));
都返回相同的时间
请帮我解决这个问题
得到相同时间的原因是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
格式。