@DateTimeFormat注解

这篇具有很好参考价值的文章主要介绍了@DateTimeFormat注解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

@DateTimeFormat注解

前言

前言在使用@DateTimeFormat进行格式化注解时,总是不能匹配前端传入的。格式总是报错

@DateTimeFormat注解
我这里使用的是pattern进行解析的的但是前端是给我传入的ISO类型的导致不能匹配所以总是报错。后来我们进行查看源码得到了答案。
源码解析
看下源码解析:
@DateTimeFormat注解
@DateTimeFormat注解

那么我们来看下。后端使用@DateTimeFormat 注解时处理时间前前端应该如何传值。

  1. 使用 @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’
  2. 使用 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocateDate date 使用ISO属性是传入的ISO标准的日期
    var date = new Date()
    date.format(“yyyy-MM-dd”);// “2021-11-26”
  3. 使用 @DateTimeFormat(iso = DateTimeFormat.ISO.Time) LocaDateTime dateTime 使用ISO属性是传入的ISO标准的日期
    var date = new Date()
    js将其格式化为 "01:30:00.000-05:00’
  4. 使用@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这个函数库对时间进行处理。文章来源地址https://www.toymoban.com/news/detail-402915.html

到了这里,关于@DateTimeFormat注解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前后端时间传递之注解形式(@DateTimeFormat与@JsonFormat)

    在我们开发的过程中常常会遇到前后端传递时间的问题,同样笔者也是遇到了这样的问题,以前笔者的做法是在代码中转换:前端传String类型的时间,然后后端用String接收以后存入数据库时再转化为Date;返回给前端时也是一样,先从数据库中查出Date类型的数据,返回给前端

    2024年02月05日
    浏览(35)
  • Spring @DateTimeFormat日期格式化时注解浅析分享

    关于它 @DateTimeFormat : 可以接收解析前端传入字符时间数据; 不能格式化接收的字符时间类型数据,需要的转换格式得配置; 入参格式必须与后端注解格式保持一致,否则会报错; 场景:跟前端交互时,接收字符类型的时间值,就需要使用 @DateTimeFormat 注解来解析,否则就

    2024年02月03日
    浏览(33)
  • @DateTimeFormat和@JsonFormat介绍

    @DateTimeFormat 注解是由Spring提供的一个注解, 位于Spring和核心组件之一的context组件 。对应的所需依赖如下: 双击shift快捷键,全局搜索 DateTimeFormat ,查看外部库, DateTimeFormat 本质上是一个接口 @DateTimeFormat 注解的功能是将一个日期字符串转化为对应的Date类型,主要处理前端

    2024年02月01日
    浏览(35)
  • 使用 GPT4 和 ChatGPT 开发应用:前言到第三章

    原文:Developing Apps with GPT-4 and ChatGPT 译者:飞龙 协议:CC BY-NC-SA 4.0 在发布仅仅五天后,ChatGPT 就吸引了惊人的一百万用户,这在科技行业及其他领域引起了轰动。作为一个副作用,OpenAI API 用于人工智能文本生成的接口突然曝光,尽管它已经可用了三年。ChatGPT 界面展示了这

    2024年01月20日
    浏览(73)
  • java 元注解||自定义注解的使用

    1. @Retention注解 指定了标记的注解如何存储: RetentionPolicy.SOURCE,标记的注解仅保留在源代码级别,并被编译器忽略。 RetentionPolicy.CLASS,标记的注解在编译时由编译器保留,但被Java虚拟机(JVM)忽略。 RetentionPolicy.RUNTIME,标记的注解由JVM保留,以便运行时环境可以使用。 2. @Do

    2024年02月16日
    浏览(38)
  • 11Spring IoC注解式开发(上)(元注解/声明Bean的注解/注解的使用/负责实例化Bean的注解)

    注解的存在主要是为了简化XML的配置。Spring6倡导全注解开发。 注解开发的优点 :提高开发效率 注解开发的缺点 :在一定程度上违背了OCP原则,使用注解的开发的前提是需求比较固定,变动较小。 自定义一个注解: 该注解上面修饰的注解包括:Target注解和Retention注解,这两个注

    2024年01月21日
    浏览(44)
  • post请求可以不加@RequestBody注解么?使用与不使用@RequestBody注解的区别

    @RequestBody只能处理json格式的数据。 使用@RequestBody注解时,用于接收Content-Type为application/json类型的请求,数据类型是JSON:{“aaa”:“111”,“bbb”:“222”} 不加@RequestBody可以支持表单的默认格式,但是不能处理json格式的数据(在restTemplete进行远程服务调用时,是以json格式进行实体

    2024年02月12日
    浏览(46)
  • 金融领域思考-前言

    不知不觉已经进入金融领域并且从事支付相关研发工作2年,2年了,应该是一个非常重要的分水岭。但越学习,越了解,越知道金融领域的复杂性。故希望借助写博客整理相关思绪,每有会意,便会记录,同时也会推荐一些业内人士所推荐的书籍。笔者希望,在写完 关于 金融

    2024年04月25日
    浏览(30)
  • Java设计模式-前言

     馆长准备了很多学习资料,其中包含 java方面,jvm调优,spring / spring boot /spring cloud ,微服务,分布式,前端,js书籍资料,视频资料,以及各类常用软件工具,破解工具  等资源。请关注“IT技术馆”公众号,进行关注,馆长会每天更新资源和更新技术文章等。请大家多多关

    2024年01月21日
    浏览(42)
  • Jmeter前言

    深入学习Jmeter 温故而知新。尽管我已经使用JMeter很长时间,但还有许多元件我并不十分了解,因此,编写教程的过程成为了我的学习过程,通过反复回顾和整理知识,我能够更全面地掌握JMeter。 分享知识 我深信知识具有强大力量,而这种力量应该共享,我愿意将我的所学分

    2024年03月22日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包