Skip to content

Commit c42c60d

Browse files
authored
Merge pull request #22 from JavaWebStack/feature/timezones
Basic Timezone support
2 parents a60ae1b + e3cd218 commit c42c60d

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/main/java/org/javawebstack/abstractdata/mapper/DefaultMappers.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import java.lang.reflect.Constructor;
1111
import java.lang.reflect.InvocationTargetException;
12+
import java.sql.Time;
1213
import java.sql.Timestamp;
1314
import java.text.ParseException;
1415
import java.text.SimpleDateFormat;
@@ -265,6 +266,8 @@ public AbstractElement toAbstract(MapperContext context, Object value) throws Ma
265266
return new AbstractPrimitive(time);
266267
}
267268
java.text.DateFormat dateFormat = (df != null && df.value().length() > 0) ? new SimpleDateFormat(df.value()) : context.getMapper().getDateFormat();
269+
if (df != null && df.timezone().length() > 0)
270+
dateFormat.setTimeZone(TimeZone.getTimeZone(df.timezone()));
268271
return new AbstractPrimitive(dateFormat.format((Date) value));
269272
}
270273
return null;
@@ -281,6 +284,8 @@ public Object fromAbstract(MapperContext context, AbstractElement element, Class
281284
date = new Date(time);
282285
} else {
283286
java.text.DateFormat dateFormat = (df != null && df.value().length() > 0) ? new SimpleDateFormat(df.value()) : context.getMapper().getDateFormat();
287+
if (df != null && df.timezone().length() > 0)
288+
dateFormat.setTimeZone(TimeZone.getTimeZone(df.timezone()));
284289
date = dateFormat.parse(element.string(context.getMapper().isStrict()));
285290
}
286291
if(type.equals(Date.class))

src/main/java/org/javawebstack/abstractdata/mapper/annotation/DateFormat.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
public @interface DateFormat {
44

55
String value() default "";
6+
String timezone() default "";
67
boolean epoch() default false;
78
boolean millis() default false;
89

0 commit comments

Comments
 (0)