diff --git a/classpath/java/text/SimpleDateFormat.java b/classpath/java/text/SimpleDateFormat.java index 6086eaa561..44b73d5cd8 100644 --- a/classpath/java/text/SimpleDateFormat.java +++ b/classpath/java/text/SimpleDateFormat.java @@ -12,6 +12,7 @@ package java.text; import java.util.Calendar; import java.util.Date; +import java.util.TimeZone; public class SimpleDateFormat { private String pattern; @@ -23,6 +24,12 @@ public class SimpleDateFormat { } } + public void setTimeZone(TimeZone tz) { + if(!tz.getDisplayName().equals("GMT")) { + throw new UnsupportedOperationException(); + } + } + public StringBuffer format(Date date, StringBuffer buffer, FieldPosition position) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); diff --git a/classpath/java/util/TimeZone.java b/classpath/java/util/TimeZone.java new file mode 100644 index 0000000000..dc740ca7a6 --- /dev/null +++ b/classpath/java/util/TimeZone.java @@ -0,0 +1,35 @@ +/* Copyright (c) 2008-2013, Avian Contributors + + Permission to use, copy, modify, and/or distribute this software + for any purpose with or without fee is hereby granted, provided + that the above copyright notice and this permission notice appear + in all copies. + + There is NO WARRANTY for this software. See license.txt for + details. */ + +package java.util; + +public class TimeZone { + + // for now, we only support GMT + private static final TimeZone GMT = new TimeZone("GMT"); + + private final String name; + + private TimeZone(String name) { + this.name = name; + } + + public static TimeZone getTimeZone(String id) { + // technically the Java spec says that this method + // returns GMT if it can't understand the "id" parameter + // sigh. + return GMT; + } + + public String getDisplayName() { + return name; + } + +} diff --git a/test/Dates.java b/test/Dates.java index 9ee66ff27b..dfd6d72273 100644 --- a/test/Dates.java +++ b/test/Dates.java @@ -1,6 +1,7 @@ import java.text.FieldPosition; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.TimeZone; public class Dates { private final static long EPOCH = 1234567890; @@ -12,6 +13,7 @@ public class Dates { public static void main(String[] args) throws Exception { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + format.setTimeZone(TimeZone.getTimeZone("GMT")); Date date = format.parse("1970-01-01T00:00:00"); expect(0 == date.getTime());