@@ -1004,14 +1004,14 @@ public final void defaultSerializeDateValue(long timestamp, JsonGenerator jgen)
1004
1004
* Note: date here means "full" date, that is, date AND time, as per
1005
1005
* Java convention (and not date-only values like in SQL)
1006
1006
*/
1007
- public final void defaultSerializeDateValue (Date date , JsonGenerator jgen )
1007
+ public final void defaultSerializeDateValue (Date date , JsonGenerator gen )
1008
1008
throws IOException
1009
1009
{
1010
1010
// [JACKSON-87]: Support both numeric timestamps and textual
1011
1011
if (isEnabled (SerializationFeature .WRITE_DATES_AS_TIMESTAMPS )) {
1012
- jgen .writeNumber (date .getTime ());
1012
+ gen .writeNumber (date .getTime ());
1013
1013
} else {
1014
- jgen .writeString (_dateFormat ().format (date ));
1014
+ gen .writeString (_dateFormat ().format (date ));
1015
1015
}
1016
1016
}
1017
1017
@@ -1020,13 +1020,13 @@ public final void defaultSerializeDateValue(Date date, JsonGenerator jgen)
1020
1020
* based on {@link SerializationFeature#WRITE_DATE_KEYS_AS_TIMESTAMPS}
1021
1021
* value (and if using textual representation, configured date format)
1022
1022
*/
1023
- public void defaultSerializeDateKey (long timestamp , JsonGenerator jgen )
1023
+ public void defaultSerializeDateKey (long timestamp , JsonGenerator gen )
1024
1024
throws IOException
1025
1025
{
1026
1026
if (isEnabled (SerializationFeature .WRITE_DATE_KEYS_AS_TIMESTAMPS )) {
1027
- jgen .writeFieldName (String .valueOf (timestamp ));
1027
+ gen .writeFieldName (String .valueOf (timestamp ));
1028
1028
} else {
1029
- jgen .writeFieldName (_dateFormat ().format (new Date (timestamp )));
1029
+ gen .writeFieldName (_dateFormat ().format (new Date (timestamp )));
1030
1030
}
1031
1031
}
1032
1032
@@ -1035,12 +1035,12 @@ public void defaultSerializeDateKey(long timestamp, JsonGenerator jgen)
1035
1035
* based on {@link SerializationFeature#WRITE_DATE_KEYS_AS_TIMESTAMPS}
1036
1036
* value (and if using textual representation, configured date format)
1037
1037
*/
1038
- public void defaultSerializeDateKey (Date date , JsonGenerator jgen ) throws IOException
1038
+ public void defaultSerializeDateKey (Date date , JsonGenerator gen ) throws IOException
1039
1039
{
1040
1040
if (isEnabled (SerializationFeature .WRITE_DATE_KEYS_AS_TIMESTAMPS )) {
1041
- jgen .writeFieldName (String .valueOf (date .getTime ()));
1041
+ gen .writeFieldName (String .valueOf (date .getTime ()));
1042
1042
} else {
1043
- jgen .writeFieldName (_dateFormat ().format (date ));
1043
+ gen .writeFieldName (_dateFormat ().format (date ));
1044
1044
}
1045
1045
}
1046
1046
@@ -1225,13 +1225,17 @@ protected final DateFormat _dateFormat()
1225
1225
if (_dateFormat != null ) {
1226
1226
return _dateFormat ;
1227
1227
}
1228
- /* 24-Feb-2012, tatu: At this point, all timezone configuration
1229
- * should have occured, with respect to default dateformat
1230
- * and timezone configuration. But we still better clone
1231
- * an instance as formatters may be stateful.
1228
+ /* At this point, all timezone configuration should have occured, with respect
1229
+ * to default dateformat configuration. But we still better clone
1230
+ * an instance as formatters are stateful, not thread-safe.
1232
1231
*/
1233
1232
DateFormat df = _config .getDateFormat ();
1234
1233
_dateFormat = df = (DateFormat ) df .clone ();
1234
+ // 11-Jun-2015, tatu: Plus caller may have actually changed default TimeZone to use
1235
+ TimeZone tz = getTimeZone ();
1236
+ if (tz != df .getTimeZone ()) {
1237
+ df .setTimeZone (tz );
1238
+ }
1235
1239
return df ;
1236
1240
}
1237
1241
}
0 commit comments