spring boot 2.0.2.release 使用fastjson的@JSONField对日期进行格式化,页面中显示的日期并没有被格式化,同时还小了8小时

starry-night 2018-06-21 02:17:40
@Configuration
public class MyWebMvcConfigurerAdapter implements WebMvcConfigurer {

/**
* 配置fastJson
*
* @param converters
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
// 处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
}

...全文
1348 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
聴説_er 2018-06-26
  • 打赏
  • 举报
回复
public static String DataConvert(Object str) {
if (str != null) {
DateFormat dateFormatterChina = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);//格式化输出
TimeZone timeZoneChina = TimeZone.getTimeZone("Asia/Shanghai");//获取时区
dateFormatterChina.setTimeZone(timeZoneChina);//设置系统时区
// Date curDate = new Date();//获取系统时间
return dateFormatterChina.format(str);
}else{
return "";
}
}

试试这个. 只需要在实体类调用
public Object getCreatetime() {
return GTMdata.DataConvert(createtime);
}
四大天王之一 2018-06-25
  • 打赏
  • 举报
回复
/**
* <!-- Jackson Json处理工具包 -->
* <dependency>
* <groupId>com.fasterxml.jackson.core</groupId>
* <artifactId>jackson-databind</artifactId>
* <version>2.4.2</version>
* </dependency>
*/

如果是springboot就不需要引入le, 其他项目要引入这个包, 就好了
四大天王之一 2018-06-25
  • 打赏
  • 举报
回复
为什么要用fastjson呢 ? 在springboot中, 用fastjson , 专门写配置代码. 我其实不知道为什么一定要用fastjson 求解答 ..

另外, springboot自带使用jackson . 在实体类的属性上 ( 时间属性 )

加上
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createtime;

就可以用了, 还能解决时区问题..
stacksoverflow 2018-06-21
  • 打赏
  • 举报
回复
少8小时应该是时区问题,参考
https://blog.csdn.net/qq_28929589/article/details/79245774
https://github.com/alibaba/fastjson/issues/1510
代码下载链接: https://pan.quark.cn/s/90fbf78c3289 "1元云购"是一种依托互联网的购物方式,用户仅需投入微小的资金(一般为一元)便有机会赢取高价值商品。此类模式常借助抽奖机制来判定获胜者,从而吸引众多用户加入。"1元云购源代码"是承载该业务流程的程序代码,其用途在于搭建一个完整的1元云购系统。 在构建1元云购源代码的过程中,主要包含以下几个核心技术要点: 1. **数据库架构**:为了有效存储商品详情、用户资料、交易历史及开奖结果,必须设计科学合理的数据库框架。这包括商品数据表、用户信息表、订单记录表和开奖记录表等,确保数据的统一性与完整性。 2. **支付渠道对接**:1元云购平台需与第三方支付服务(例如支付宝、微信支付)进行对接,以实现用户的在线支付操作。这涉及API接口调用、交易状态同步、退款流程管理等环节。 3. **随机数生成策略**:抽奖过程的核心在于公平透明地选定获奖者,通常采用随机数生成策略来实现。该策略需保障每位参与者拥有相等的获奖机会,同时防止欺诈行为。 4. **用户界面开发**:卓越的用户体验是吸引参与者的关键因素。前端页面应兼具视觉吸引力与操作便捷性,清晰展示商品信息、购买步骤、中奖规范等,并提供用户注册、登录、查询订单等功能。 5. **服务器程序设计**:后端系统负责处理用户请求,如管理订单、计算中奖号码、更新数据库信息等。这部分通常采用PHP等服务器端技术实现,需应对并发访问与高负载情形。 6. **安全措施**:1元云购平台可能面临恶意攻击,例如SQL注入、XSS跨站脚本攻击等。因此,源代码需遵循安全编程准则,对用户输入进行过滤与校验,同时运用HTTPS等加密手段保障数据传输安全。 7. **...

81,108

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧