spring mvc 时间日期转换(@DateTimeFormat 注解)
时间:2022-05-04
本文章向大家介绍spring mvc 时间日期转换(@DateTimeFormat 注解),主要内容包括两种用法示例:、示例说明:、其他补充:、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
两种用法示例:
@GetMapping("/date")
public String datest(@DateTimeFormat(iso=ISO.DATE) Date date){
System.out.println(date);
return "lalalal";
}
@GetMapping("/date")
public String datest(@DateTimeFormat(pattern = "yyyy/MM/dd") Date date){
System.out.println(date);
return "lalalal";
}
使用 @DateTimeFormat 注解有两种做法,如上面代码所示。
示例说明:
第一种是按照ISO国际标准的日期时间格式解析参数中的日期时间的,具体格式为此枚举变量:
/**
* Common ISO date time format patterns.
*/
enum ISO {
/**
* The most common ISO Date Format {@code yyyy-MM-dd},
* e.g. "2000-10-31".
*/
DATE,
/**
* The most common ISO Time Format {@code HH:mm:ss.SSSZ},
* e.g. "01:30:00.000-05:00".
*/
TIME,
/**
* The most common ISO DateTime Format {@code yyyy-MM-dd'T'HH:mm:ss.SSSZ},
* e.g. "2000-10-31T01:30:00.000-05:00".
* <p>This is the default if no annotation value is specified.
*/
DATE_TIME,
/**
* Indicates that no ISO-based format pattern should be applied.
*/
NONE
}
第二种是按照自定义的模式来解析时间,模式字符串的定义与遵循以下规则(摘自jdk 1.8 SimpleDateFormat):
- The following pattern letters are defined (all other characters from
'A'
to'Z'
and from'a'
to'z'
are reserved):
- The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone.
其他补充:
@ExceptionHandler 异常处理:
@ExceptionHandler(Exception.class)
public String handle(Exception exception){
if (exception instanceof MethodArgumentTypeMismatchException) {
return "传入参数格式不正确或参数解析异常!";
}
return exception.getMessage();
}
如上所示,利用此注解@ExceptionHandler就可以实现对异常的处理。
若此示例代码段放在@Controller类中,就只可以处理它所在类被请求过程中发生的异常。如果需要处理多个@Controller类被请求过程中发生的异常,就需要将此代码段放在单独的一个类中,并且这个类需要加上@ControllerAdvice(或@RestControllerAdvice)注解。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Tensorflow滑动平均模型
- lnmp应用服务器安装手册
- Tensorflow简单CNN实现详解
- 应用服务器安装手册
- python 读取文件函数
- Tkinter Menubar
- python pickle模块
- 吴恩达机器学习笔记18-逆矩阵、矩阵转置
- Tkinter messagebox弹窗
- 'utf-8' codec can't decode byte 0xff in position 0
- iOS今日头条第3轮面试回忆
- Python:os.path.join()产生的斜杠在Windows和Linux下的不同表现和解决方法
- python 深复制和浅复制详解
- Octave入门之数据操作—ML Note28
- matlab导出csv文件多种方法实现