Spring Boot LocalDateTime格式化处理的示例详解

 更新时间:2018年10月10日 10:39:59   作者:李阿飞  
这篇文章主要介绍了Spring Boot LocalDateTime格式化处理的示例详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

JDK8的新特性中Time API,其包括Clock、Duration、Instant、LocalDate、LocalTime、LocalDateTime、ZonedDateTime,在这里就不一一介绍了,相信很多人都会使用其代替Date及Calendar来处理日期时间,下面介绍Spring Boot处理LocalDateTime格式。

Controller接收LocalDateTime参数

在Spring中,接收LocalDateTime日期时间数据时,只需要使用@DateTimeFormat注解即可。@DateTimeFormat可以注解在字段、参数以及方法上,如果接收的为DTO,则需要将@DateTimeFormat注解在DTO中的字段上。

需要注意的是pattern是全匹配,参数格式必须要和定义的一样。

@GetMapping("date")
public Object date(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime date) {
 return date;
}

@GetMapping("date2")
public Object date(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) {
 return date;
}

ResponseBody格式化LocalDateTime

Spring默认使用使用jackson来进行json格式转换,我们只需要使用@Bean注解创建一个ObjectMapperbean,并将JavaTimeModule注册到ObjectMapper中即可,spring会使用该bean创建MappingJackson2HttpMessageConverter进行json格式转换。

这里需要加入jackson的jsr310扩展包。

<dependency>
 <groupId>com.fasterxml.jackson.datatype</groupId>
 <artifactId>jackson-datatype-jsr310</artifactId>
 <version>2.8.9</version>
</dependency>
@Bean(name = "mapperObject")
public ObjectMapper getObjectMapper() {
 ObjectMapper om = new ObjectMapper();
 JavaTimeModule javaTimeModule = new JavaTimeModule();
 javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
 javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
 javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
 om.registerModule(javaTimeModule);
 return om;
}

另外,如果持久层框架使用mybatis,同样需要加入mybatis的jsr310 扩展包。

<dependency>
 <groupId>org.mybatis</groupId>
 <artifactId>mybatis-typehandlers-jsr310</artifactId>
 <version>1.0.2</version>
</dependency>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 二代身份证验证示例

    二代身份证验证示例

    这篇文章主要介绍了二代身份证验证示例,需要的朋友可以参考下
    2014-02-02
  • 详解JAVA动态代理

    详解JAVA动态代理

    这篇文章主要介绍了JAVA动态代理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Java8 lambda表达式2种常用方法代码解析

    Java8 lambda表达式2种常用方法代码解析

    这篇文章主要介绍了Java8 lambda表达式2种常用方法代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java设计模式之备忘录模式_动力节点Java学院

    Java设计模式之备忘录模式_动力节点Java学院

    我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。接下来通过本文给大家分享java设计模式之备忘录模式,感兴趣的的朋友一起看看吧
    2017-08-08
  • 使用Java实现将ppt转换为文本

    使用Java实现将ppt转换为文本

    这篇文章主要为大家详细介绍了如何使用Java实现将ppt转换为文本,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-01-01
  • hadoop client与datanode的通信协议分析

    hadoop client与datanode的通信协议分析

    本文主要分析了hadoop客户端read和write block的流程. 以及client和datanode通信的协议, 数据流格式等
    2012-11-11
  • Java如何获取静态资源文件路径

    Java如何获取静态资源文件路径

    这篇文章主要介绍了Java如何获取静态资源文件路径问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • java使用淘宝API读写json实现手机归属地查询功能代码

    java使用淘宝API读写json实现手机归属地查询功能代码

    本文介绍java使用淘宝API读写json实现手机归属地查询功能,代码简单,大家可以参考使用
    2013-11-11
  • MyBatis与Spring整合过程实例解析

    MyBatis与Spring整合过程实例解析

    这篇文章主要介绍了MyBatis与Spring整合过程实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java超详细讲解三大特性之一的继承

    Java超详细讲解三大特性之一的继承

    继承就是可以直接使用前辈的属性和方法。自然界如果没有继承,那一切都是处于混沌状态。多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作
    2022-05-05

最新评论