我正在尝试在CentOS服务器中更新我的OpenJDK 1.6.0_24的时区数据(因为巴西将在10月之后不再采用DST,但似乎无法正常工作。我在服务器上做了java -jar tzupdater.jar -l file:///tzupdater-2.3.0/tzdata2019c.tar.gz
,并用java -jar tzupdater.jar -V
检查了版本后,返回的JRE tzdata version: tzdata2019c
似乎已更新,但是当我运行以下代码时,似乎仍然过时了,返回那个12月仍在DST中!有人知道如何解决这个问题吗?
OBS:巴西DST的更新已于IANA在2019b tzdata中发布
代码:
try {
final SimpleDateFormat parser = new SimpleDateFormat( "dd/MM/yyyy" );
final Date date = parser.parse( "05/12/2019" ); // 5th of december
System.out.println( "Is in Daylight Saving Time in this time zone? "
+ TimeZone.getTimeZone( "America/Sao_Paulo" ).inDaylightTime( date ) );
} catch ( ParseException exception ) {
exception.printStackTrace();
}
您是否成功完成了这项工作,我遇到了同样的问题。