public static void main(String[] args) throws Exception { TimeZone.setDefault(TimeZone.getTimeZone("Europe/London")); DateFormat format_z = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S z"); DateFormat format_Z = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S Z"); for (int year = 1800 ; year < 2010 ; ++year) { Date june_20_at_12_34_56_pm = new GregorianCalendar(year, Calendar.JUNE, 20, 12, 34, 56).getTime(); if (format_z.parse(format_z.format(june_20_at_12_34_56_pm)).getTime() != june_20_at_12_34_56_pm.getTime()) { System.out.println("z " + year); } if (format_Z.parse(format_Z.format(june_20_at_12_34_56_pm)).getTime() != june_20_at_12_34_56_pm.getTime()) { System.out.println("Z " + year); } } }