diff options
Diffstat (limited to 'dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/RFC3339DateFormat.java')
-rw-r--r-- | dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/RFC3339DateFormat.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/RFC3339DateFormat.java b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/RFC3339DateFormat.java new file mode 100644 index 00000000..cf996787 --- /dev/null +++ b/dozentenmodulserver/api/src/main/java/org/openslx/bwlp/sat/api/handler/RFC3339DateFormat.java @@ -0,0 +1,38 @@ +package org.openslx.bwlp.sat.api.handler; + +import com.fasterxml.jackson.databind.util.StdDateFormat; + +import java.text.DateFormat; +import java.text.FieldPosition; +import java.text.ParsePosition; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.TimeZone; + +public class RFC3339DateFormat extends DateFormat { + private static final long serialVersionUID = 1L; + private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC"); + + private final StdDateFormat fmt = new StdDateFormat() + .withTimeZone(TIMEZONE_Z) + .withColonInTimeZone(true); + + public RFC3339DateFormat() { + this.calendar = new GregorianCalendar(); + } + + @Override + public Date parse(String source, ParsePosition pos) { + return fmt.parse(source, pos); + } + + @Override + public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { + return fmt.format(date, toAppendTo, fieldPosition); + } + + @Override + public Object clone() { + return this; + } +}
\ No newline at end of file |