IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> @DateTimeFormat注解 -> 正文阅读

[Java知识库]@DateTimeFormat注解

@DateTimeFormat注解

前言

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

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

那么我们来看下。后端使用@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这个函数库对时间进行处理。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 07:54:26  更:2022-05-08 07:55:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:13:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码