< prev index next >

test/java/text/Format/DateFormat/Bug4845901.java

Print this page




  38     public static void main (String args[]) {
  39         Locale locale = Locale.getDefault();
  40         if (!TestUtils.usesGregorianCalendar(locale)) {
  41             System.out.println("Skipping this test because locale is " + locale);
  42             return;
  43         }
  44 
  45         TimeZone savedTZ = TimeZone.getDefault();
  46         TimeZone.setDefault(TimeZone.getTimeZone("Australia/Sydney"));
  47         SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS z");
  48         try {
  49             testParse(sdf, "2003.01.13 11:10:00.802 AEDT", 11);
  50             testParse(sdf, "2003.06.12 11:10:00.802 AEST", 11);
  51             testParse(sdf, "2004.12.24 10:10:00.002 AEDT", 10);
  52             testParse(sdf, "2004.08.10 10:10:00.002 AEST", 10);
  53         } finally {
  54             TimeZone.setDefault(savedTZ);
  55         }
  56     }
  57 

  58     static void testParse(SimpleDateFormat sdf, String str, int expectedHour) {
  59         try {
  60             Date parsedDate = sdf.parse(str);
  61             if (parsedDate.getHours() != expectedHour) {
  62                 throw new RuntimeException(
  63                         "parsed date has wrong hour: " + parsedDate.getHours()
  64                         + ", expected: " + expectedHour
  65                         + "\ngiven string: " + str
  66                         + "\nparsedDate = " + parsedDate);
  67             }
  68         } catch (java.text.ParseException e) {
  69             throw new RuntimeException("parse exception", e);
  70         }
  71     }
  72 }


  38     public static void main (String args[]) {
  39         Locale locale = Locale.getDefault();
  40         if (!TestUtils.usesGregorianCalendar(locale)) {
  41             System.out.println("Skipping this test because locale is " + locale);
  42             return;
  43         }
  44 
  45         TimeZone savedTZ = TimeZone.getDefault();
  46         TimeZone.setDefault(TimeZone.getTimeZone("Australia/Sydney"));
  47         SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS z");
  48         try {
  49             testParse(sdf, "2003.01.13 11:10:00.802 AEDT", 11);
  50             testParse(sdf, "2003.06.12 11:10:00.802 AEST", 11);
  51             testParse(sdf, "2004.12.24 10:10:00.002 AEDT", 10);
  52             testParse(sdf, "2004.08.10 10:10:00.002 AEST", 10);
  53         } finally {
  54             TimeZone.setDefault(savedTZ);
  55         }
  56     }
  57 
  58     @SuppressWarnings("deprecation")
  59     static void testParse(SimpleDateFormat sdf, String str, int expectedHour) {
  60         try {
  61             Date parsedDate = sdf.parse(str);
  62             if (parsedDate.getHours() != expectedHour) {
  63                 throw new RuntimeException(
  64                         "parsed date has wrong hour: " + parsedDate.getHours()
  65                         + ", expected: " + expectedHour
  66                         + "\ngiven string: " + str
  67                         + "\nparsedDate = " + parsedDate);
  68             }
  69         } catch (java.text.ParseException e) {
  70             throw new RuntimeException("parse exception", e);
  71         }
  72     }
  73 }
< prev index next >