在Spring 3.0中作为Formatter SPI的一部分引入的@DateTimeFormat批注可用于解析和打印Web应用程序中的本地化字段值。 在Spring 4.0中, @DateTimeFormat批注可以直接与Java 8 Date-Time API( java.time )一起使用。

在Spring中,可以通过字段类型或注释来配置字段格式。 要将注释绑定到格式化程序,必须实现AnnotationFormatterFactory 。 Spring 4.0 Jsr310DateTimeFormatAnnotationFormatterFactoryJsr310DateTimeFormatAnnotationFormatterFactory ,该Jsr310DateTimeFormatAnnotationFormatterFactory格式化了以@DateTimeFormat注释的Java 8 Date-Time字段。 支持的字段类型如下:

  • java.util.LocalDate
  • java.util.LocalTime
  • java.util.LocalDateTime
  • java.util.ZonedDateTime
  • java.util.OffsetDateTime
  • java.util.OffsetTime

可以采用以下形式使用所有提到的类型:

public class DatesForm {@DateTimeFormat(iso = ISO.DATE)private LocalDate localDate;@DateTimeFormat(iso = ISO.TIME)private LocalTime localTime;@DateTimeFormat(iso = ISO.TIME)private OffsetTime offsetTime;@DateTimeFormat(iso = ISO.DATE_TIME)private LocalDateTime localDateTime;@DateTimeFormat(iso = ISO.DATE_TIME)private ZonedDateTime zonedDateTime;@DateTimeFormat(iso = ISO.DATE_TIME)private OffsetDateTime offsetDateTime;}

表单可以传递给视图,Spring会照顾字段的正确格式。

在类型字段上指定格式时: java.util.LocalDatejava.util.LocalTimejava.util.OffsetTime您需要记住正确配置@DateTimeFormat

@DateTimeFormat声明字段应设置为日期时间,并且因为java.util.LocalDate表示日期,而其他两个表示时间–您将获得java.time.temporal.UnsupportedTemporalTypeException (例如:不支持的字段:ClockHourOfAmPm,不支持字段:java.time.format.DateTimeFormatter抛出的java.time.format.DateTimeFormatter

翻译自: https://www.javacodegeeks.com/2014/06/spring-4-datetimeformat-with-java-8-date-time-api.html

Spring4:具有Java 8 Date-Time API的@DateTimeFormat相关推荐

  1. 更深入地了解Java 8 Date and Time API

    在这篇文章中,我们将更深入地了解通过Java 8获得的新的Date / Time API( JSR 310 ). 请注意,本文主要由显示新API功能的代码示例驱动. 我认为这些示例是不言自明的,因此我 ...

  2. [转载]java中Date,SimpleDateFormat

    一.Java中的日期概述: 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java ...

  3. java中Date,SimpleDateFormat

    一.Java中的日期概述: 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java ...

  4. java date linux,Java中Date,SimpleDateFormat

    一.Java中的日期概述: 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java ...

  5. java jsf_将Java 8日期时间API与JSF和Java EE 7结合使用

    java jsf 如果您将Java 8与Java EE 7一起使用,则在尝试利用某些Java 8新功能时可能会遇到一些怪癖. 一个这样的怪癖是,默认情况下,新的Date-Time API不适用于许多J ...

  6. 将Java 8日期时间API与JSF和Java EE 7结合使用

    如果您将Java 8与Java EE 7一起使用,则在尝试利用某些Java 8新功能时可能会遇到一些怪癖. 一个这样的怪癖是,默认情况下,新的Date-Time API不适用于许多Java EE 7 ...

  7. Java 8 – Date API的新增功能

    随着Java 8最终版本的发布,令我兴奋的新功能之一就是新的Date API,这是JSR 310的工作成果. 尽管Lambda表达式无疑是Java 8的一大亮点,但是拥有更好的日期处理方式无疑是受欢迎 ...

  8. JAVA day13,14 API、Object类、日期时间类(long,Date,Calendar,DateFormat)、String类(字符串,可变长字符串)、正则表达式、包装类

    1.API API(Application Programming Interface),应⽤程序编程接⼝.Java API是⼀本程序员的"字 典",是JDK提供给我们使⽤的类的说 ...

  9. java joda time api_好用java库(一):java date/time api:joda-time

    基于java的项目,最大的一个好处是有很多开源,优秀的第三方jar包拿过来直接使用,但是引用第三方包时一定要小心审核,确认包的作者或组织的权威性,以免未知的第三方包对项目的性能,安全和正确性的影响.作 ...

最新文章

  1. Android中BroadcastReceiver组件详解
  2. mysql 整形转换_mysql IP地址整形转换
  3. Memory Banks
  4. 教你10分钟对接人大金仓EF Core 6.x
  5. spring boot使用logback实现多环境日志配置
  6. 网工年薪100w+,你在哪个阶段?
  7. 适合千万数据查询分页操作的一个通用存储过程
  8. QQ群排名技术讲解、实战分析、核心要点 盗引结合篇
  9. 小爱音箱连接Windows蓝牙没有声音
  10. 加州大学戴维斯计算机博士生,点赞杭电人|我校本科生直博美国加州大学戴维斯分校 获全额奖学金近32万美金...
  11. 大饼趋势逐渐明朗,黎明就在眼前!
  12. 软件特性开发的流程感想
  13. GIVE 添加 bigWig 文件
  14. 前端解决图片404的问题
  15. 视频监控系统上云解决方案EasyCVR集成海康EHome私有协议系列——文件查找操作流程
  16. 加工生产调度(流水作业调度问题)——Johnson算法应用
  17. 记《三言二拍》读后感
  18. 3D单目(mono 3D)目标检测算法综述
  19. 服务器硬盘故障数据恢复流程介绍
  20. 包飞机接员工,浙江这个县拼了!大数据告诉你:全国哪里复工率最高?哪些行业最先复苏?...

热门文章

  1. 拦截第三方快递物流 ,console控制台打印正常 ,浏览器显示正常 ,传至后台乱码
  2. oracle 更新参数,Oracle动态、静态参数参数修改规则
  3. 进程间通信(IPC)+进程加锁解锁
  4. ConcurrentHashMap--自用,非教学
  5. jvm 垃圾收集算法_JVM垃圾收集和优化
  6. java观察者设计模式_Java中的观察者设计模式
  7. Spring Boot和Apache Camel
  8. apache.camel_在即将发布的Camel 2.21版本中改进了使用Apache Camel和ActiveMQ Artemis处理大型消息的功能...
  9. java登录界面命令_Java命令行界面(第5部分):JewelCli
  10. jconsole查看连接数_在JConsole和VisualVM中查看DiagnosticCommandMBean