datetimeformat注解作用(@DateTimeFormat注解)
@DateTimeFormat注解
前言
前言在使用@DateTimeFormat进行格式化注解时 ,总是不能匹配前端传入的 。格式总是报错
我这里使用的是pattern进行解析的的但是前端是给我传入的ISO类型的导致不能匹配所以总是报错 。后来我们进行查看源码得到了答案 。
源码解析
看下源码解析:
那么我们来看下 。后端使用@DateTimeFormat 注解时处理时间前前端应该如何传值 。
使用 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) 使用iso属性即代表前端需要出入ISO标准时间
var date = new Date()
date.toISOString()
// 国际标准组织(ISO)格式 ,输出:‘2021-11-26T06:07:15.870Z’
date.toJson()
// 和上面的一致(ISO格式) 。 输出:‘2021-11-26T06:07:15.870Z’ 使用 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocateDate date 使用ISO属性是传入的ISO标准的日期
var date = new Date()
date.format(“yyyy-MM-dd ”);// “2021-11-26 ” 使用 @DateTimeFormat(iso = DateTimeFormat.ISO.Time) LocaDateTime dateTime 使用ISO属性是传入的ISO标准的日期
var date = new Date()
js将其格式化为 "01:30:00.000-05:00’ 使用@DateTimeFormat(parttern=“yyyy-MM-dd ”) 使用字符串格式化车成为日期 。这里的parttern可以自定义成其他的类型
var date = new Date()js将其格式化为字符串 "yyyy-MM-dd"即可 。我们再看一下总结:
@DateTimeFormat注解可对java.util.Date,java.util.Calendar,java.long.Long以及Joda时间类型的属性进行标注 ,有以下几个互斥属性三个属性不能同时使用:
● iso:类型为DateTimeFormat.ISO.有以下几个常用的可选值 。DateTimeFormat.ISO.DATE:格式为yyyy-MM-dd.
DateTimeFormat.ISO.DATE_TIME:格式为yyyy-MM-dd hh:mm:ss.SSSZ.
DateTimeFormat.ISO.TIME:格式为hh:mm:ss.SSSZ.
DateTimeFormat.ISO.NONE:表示不应使用ISO格式化时间.
● pattern:类型为String ,使用自定义的时间格式化串 ,如"yyyy/mm/dd h:mm:ss".
● style:类型为string,通过样式指定日期时间格式 ,由两位字符组成 ,第一位带代表日期 ,第二位标识时间格式一下是几个常用的可选值
S:短日期/时间的格式
M:中日期/时间格式
L:长日期/时间的格式
F:完整日期/时间的格式
-:忽略日期/时间的格式同时我们看下前端对日期的处理的都要哪些函数
var d = new Date(); console.log(d); // 输出:Mon Nov 04 2021 21:50:33 GMT+0800 (中国标准时间) console.log(d.toDateString()); // 日期字符串 ,输出:Fri Nov 26 2021 console.log(d.toGMTString()); // 格林威治时间 ,输出:Fri, 26 Nov 2021 07:03:27 GMT console.log(d.toISOString()); // 国际标准组织(ISO)格式 ,输出:2021-11-26T06:07:15.870Z console.log(d.toJSON()); // 输出:22021-11-26T06:07:15.870Z console.log(d.toLocaleDateString()); // 转换为本地日期格式 ,视环境而定,输出:2021/11/26 console.log(d.toLocaleString()); // 转换为本地日期和时间格式 ,视环境而定 ,输出:2021/11/26 下午3:02:30 console.log(d.toLocaleTimeString()); // 转换为本地时间格式,视环境而定 ,输出:下午3:03:48 console.log(d.toString()); // 转换为字符串 ,输出:Fri Nov 26 2021 15:01:26 GMT+0800 (中国标准时间) console.log(d.toTimeString()); // 转换为时间字符串 ,输出:15:01:40 GMT+0800 (中国标准时间) console.log(d.toUTCString()); // 转换为世界时间 ,输出:Fri, 26 Nov 2021 07:01:56 GMT同样更加推荐使用moment.js这个函数库对时间进行处理 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!