我遇到cal.set(Calendar.HOUR_OF_DAY, 0);
的问题。
如果我使用第一个DST日,此方法将返回前一天23:00:00而不是当前00:00:00。
我的时区是巴西/东部
我的代码:
final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a z");
Date day = getFirstDayDST();
Calendar cal = Calendar.getInstance();
cal.setTime( day );
System.out.println( sdt.format( cal.getTime() ) );
cal.set( Calendar.HOUR_OF_DAY, 0);
System.out.println( sdt.format( cal.getTime() ) );
输出:
"18/10/2015 12:00:00 PM GMT-02:00" "17/10/2015 11:00:00 PM GMT-03:00"
但我期待:
"18/10/2015 12:00:00 PM GMT-02:00" "18/10/2015 00:00:00 PM GMT-02:00" OR "18/10/2015 01:00:00 PM GMT-02:00"
我如何解决这个问题?
答案 0 :(得分:-1)
错误在于你打印“day.getTime()”。你必须打印cal.getTime();)