Jackson Annotation 格式化日期时区问题
2017-01-06 17:11
281 查看
在使用Jackson2.X 做数据的格式化的时候 使用
@JsonFormat 格式化日期数据出现时区问题
还是需要用户指定 中国时区指定如下
问题原因:
经调试,这应该属于Jackson的bug,如下是ObjectMapper源码
jackson没有去默认的时区,而是取GMT时区。
@JsonFormat 格式化日期数据出现时区问题
还是需要用户指定 中国时区指定如下
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
问题原因:
jackson在序列化时间时是按照国际标准时间GMT进行格式化的,而在国内默认时区使用的是CST时区,两者相差8小时,
经调试,这应该属于Jackson的bug,如下是ObjectMapper源码
/** * Base settings contain defaults used for all {@link ObjectMapper} * instances. */ protected final static BaseSettings DEFAULT_BASE = new BaseSettings( null, // can not share global ClassIntrospector any more (2.5+) DEFAULT_ANNOTATION_INTROSPECTOR, STD_VISIBILITY_CHECKER, null, TypeFactory.defaultInstance(), null, StdDateFormat.instance, null, Locale.getDefault(), // TimeZone.getDefault() TimeZone.getTimeZone("GMT"), Base64Variants.getDefaultVariant() // 2.1 );
jackson没有去默认的时区,而是取GMT时区。
相关文章推荐
- 日期格式化的时候遇到的奇怪的问题
- GridView中日期的格式化问题
- SQLite julianday DateTime日期时区问题小记录
- java日期格式化问题 <html:checkbox>
- NSDate的计算问题、日期计算、时区问题、NSTimer
- dataview日期格式化问题!
- 日期格式化标签<fmt:formatDate>&<fmt:setTimeZone>时区标签的使用demo
- SQLite julianday DateTime日期时区问题小记录
- VB6的ActiveX组件中一个诡异的日期格式化显示的问题
- Flex中的日期格式化问题
- Dataformatstring 格式化日期应注意的问题
- Asp中日期格式化问题
- GridView中Dataformatstring 格式化日期应注意的问题
- java 日期格式化问题
- eclipse/MyEclipse 日期格式、注释日期格式、时区问题
- Asp.net中数字、日期的格式化问题
- AJAX JSON中日期类型DateTime格式化的序列化自定义对象以及自定义类型参数的问题处理
- Asp 日期格式化问题
- 使用JavaScriptSerializer进行序列化日期类型应该注意时区的问题
- 日期格式化标签<fmt:formatDate>&<fmt:setTimeZone>时区标签的使用demo