Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8267007 | 16u-cpu | Kiran Sidhartha Ravikumar | P3 | Resolved | Fixed | master |
JDK-8264904 | 16.0.2 | Kiran Sidhartha Ravikumar | P3 | Resolved | Fixed | b04 |
JDK-8265193 | 15.0.4 | Yuri Nesterenko | P3 | Resolved | Fixed | b01 |
JDK-8265731 | 13.0.8 | Yuri Nesterenko | P3 | Resolved | Fixed | b01 |
JDK-8264905 | 11.0.12-oracle | Kiran Sidhartha Ravikumar | P3 | Resolved | Fixed | b01 |
JDK-8265289 | 11.0.12 | Naoto Sato | P3 | Resolved | Fixed | b01 |
JDK-8265664 | openjdk8u302 | Naoto Sato | P3 | Resolved | Fixed | b01 |
JDK-8264906 | 8u301 | Kiran Sidhartha Ravikumar | P3 | Resolved | Fixed | b01 |
JDK-8264979 | 7u311 | Kiran Sidhartha Ravikumar | P3 | Resolved | Fixed | b01 |
Reproducer:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class DSTTest {
public static void main(String[] args) {
try {
TimeZone timeZone =
TimeZone.getTimeZone("America/New_York");
SimpleDateFormat sdf = new
SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SSS");
Long time = 0L;
sdf.setTimeZone(timeZone);
time = sdf.parse("2037/3/8 01:30:00:000").getTime();
System.out.println(sdf.format(new Date(time)));
time = sdf.parse("2037/3/8 02:30:00:000").getTime();
System.out.println(sdf.format(new Date(time)));
time = sdf.parse("2037/3/8 03:30:00:000").getTime();
System.out.println(sdf.format(new Date(time)));
time = sdf.parse("2037/3/8 04:30:00:000").getTime();
System.out.println(sdf.format(new Date(time)));
time = sdf.parse("2038/3/14 01:30:00:000").getTime();
System.out.println(sdf.format(new Date(time)));
time = sdf.parse("2038/3/14 02:30:00:000").getTime();
System.out.println(sdf.format(new Date(time)));
time = sdf.parse("2038/3/14 03:30:00:000").getTime();
System.out.println(sdf.format(new Date(time)));
time = sdf.parse("2038/3/14 04:30:00:000").getTime();
System.out.println(sdf.format(new Date(time)));
} catch(ParseException e) {
System.err.println(e.getMessage());
}
}
}
Expected:
2037/03/08 01:30:00:000
2037/03/08 03:30:00:000
2037/03/08 03:30:00:000
2037/03/08 04:30:00:000
2038/03/14 01:30:00:000
2038/03/14 03:30:00:000
2038/03/14 03:30:00:000
2038/03/14 04:30:00:000
Actual:
2037/03/08 01:30:00:000
2037/03/08 03:30:00:000
2037/03/08 03:30:00:000
2037/03/08 04:30:00:000
2038/03/14 01:30:00:000
2038/03/14 02:30:00:000
2038/03/14 02:30:00:000
2038/03/14 04:30:00:000
- backported by
-
JDK-8264904 DST starts from incorrect time in 2038
-
- Resolved
-
-
JDK-8264905 DST starts from incorrect time in 2038
-
- Resolved
-
-
JDK-8264906 DST starts from incorrect time in 2038
-
- Resolved
-
-
JDK-8264979 DST starts from incorrect time in 2038
-
- Resolved
-
-
JDK-8265193 DST starts from incorrect time in 2038
-
- Resolved
-
-
JDK-8265289 DST starts from incorrect time in 2038
-
- Resolved
-
-
JDK-8265664 DST starts from incorrect time in 2038
-
- Resolved
-
-
JDK-8265731 DST starts from incorrect time in 2038
-
- Resolved
-
-
JDK-8267007 DST starts from incorrect time in 2038
-
- Resolved
-
- relates to
-
JDK-8073446 TimeZone getOffset API does not return a DST offset between years 2038-2137
-
- Resolved
-
- links to
-
Commit openjdk/jdk13u-dev/3075cb06
-
Commit openjdk/jdk15u-dev/698dd44f
-
Commit openjdk/jdk16u/4f5421ef
-
Commit openjdk/jdk/7284f013
-
Review openjdk/jdk13u-dev/183
-
Review openjdk/jdk15u-dev/23
-
Review openjdk/jdk16u/104
-
Review openjdk/jdk/3165