局部配置

JSON方式 (Jackson)

import com.fasterxml.jackson.annotation.JsonFormat;@Data
public class MyVO {@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")private Date date;
}

JSON方式 (FastJson)

import com.alibaba.fastjson.annotation.JSONField;@Data
public class MyVO {@JSONField(format = "yyyy-MM-dd HH:mm:ss")private Date date;
}

表单方式(只适用于接收)

import org.springframework.format.annotation.DateTimeFormat;@Data
public class MyVO {@DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss")private Date date;
}

全局配置

Spring Boot配置方式(只适用于Jackson)

application.yml

spring:jackson:data-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8

接收多种日期格式

import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;@Component
public class DateConverter implements Converter<String, Date> {//添加不同的日期格式private static final String[][] datePatternArray = new String[][]{{"yyyy-MM-dd", "^\\d{4}-\\d{1,2}-\\d{1,2}$"},{"yyyy-MM-dd HH:mm", "^\\d{4}-\\d{1,2}-\\d{1,2}\\s\\d{1,2}:\\d{1,2}$"},{"yyyy-MM-dd HH:mm:ss", "^\\d{4}-\\d{1,2}-\\d{1,2}\\s\\d{1,2}:\\d{1,2}:\\d{1,2}$"}};@Overridepublic Date convert(String source) {try {for (int i = 0; i < datePatternArray.length; i++) {if (source.matches(datePatternArray[i][1])) {SimpleDateFormat dateFormat = new SimpleDateFormat(datePatternArray[i][0]);dateFormat.setLenient(false);//指定日期/时间解析为不严格return dateFormat.parse(source);}}} catch (Exception e) {e.printStackTrace();}return null;}
}

接收单种日期格式

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RestControllerAdvice;import java.text.SimpleDateFormat;
import java.util.Date;@RestControllerAdvice
public class Advice {@InitBinderpublic void initBinder(WebDataBinder binder) {SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");dateFormat.setLenient(false);binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));   //true:允许输入空值,false:不能为空值}
}

返回指定日期格式

import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import java.text.SimpleDateFormat;
import java.util.List;@Configuration
public class MessageJSON implements WebMvcConfigurer {@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {for (HttpMessageConverter converter : converters) {if (converter instanceof  FastJsonHttpMessageConverter) {FastJsonHttpMessageConverter fastConverter = (FastJsonHttpMessageConverter)converter;fastConverter.getFastJsonConfig().setDateFormat("yyyy-MM.dd HH.mm.ss");} else if (converter instanceof MappingJackson2HttpMessageConverter) {MappingJackson2HttpMessageConverter jacksonConverter = (MappingJackson2HttpMessageConverter)converter;jacksonConverter.getObjectMapper().setDateFormat( new SimpleDateFormat("yyyy-MM.dd HH.mm.ss"));}}}
}

SpringMVC 关于日期(Date)的接收与返回相关推荐

  1. json日期格式化 java_java_Java Web程序中利用Spring框架返回JSON格式的日期,返回Json时格式化日期Date 第一 - phpStudy...

    Java Web程序中利用Spring框架返回JSON格式的日期 返回Json时格式化日期Date第一步:创建CustomObjectMapper类 /** * 解决SpringMVC使用@Respo ...

  2. springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用

    关于springmvc日期问题的解决方式 除了本博客的[springMVC 前后台日期格式传值解决方式之 @DateTimeFormat的使用和配置]一文, 还有如下这种方式: 在Controller ...

  3. java时间差的百分之二十,Java对日期Date类进行加减运算、年份加减月份加减、时间差等等...

    实现代码一: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public c ...

  4. JAVA的String、StringBuilder、StringBuffer、包装类、日期Date类、枚举类(Enumeration)

    主要内容: String类 字符串构造器的用法 String中的常用方法 String类源代码 String字符串各种拼接方式的效率比较 包装类 日期Date Date方法 getTime 日期格式化 ...

  5. java当前月份减一个月_Java对日期Date类进行加减运算、年份加减月份加减、时间差等等...

    实现代码一: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public c ...

  6. JAVA 日期Date加减整理

    一.充分利用SimpleDateFormat import java.text.SimpleDateFormat; import java.util.Calendar; import java.uti ...

  7. php date函数季度天数,php 日期_PHP的日期 date 函数

    摘要 腾兴网为您分享:PHP的日期 date 函数,悦作业,邮币在线,小红书,腾讯小说等软件知识,以及无所畏惧表情包,我的鸡笼,磁盘空间分析,putty,双击唤醒屏幕,南通建材网,谷歌浏览器免,u盘d ...

  8. 学习String类和日期Date类,看这一篇就够了

    写在前面,Java基础系列文章都是作者基于b站尚硅谷的Java基础视频所做的笔记,没有时间的同学可以认真看看,如果有时间的同学,还是建议看看视频,毕竟笔记说到底还是自己的东西,每个人的习惯也是不一样的 ...

  9. pandas使用normalize函数将dataframe中的时间(time)数据列转化为日期(date)数据列(例如,从2019-12-25 11:30:00到2019-12-25)

    pandas使用normalize函数将dataframe中的时间(time)数据列转化为日期(date)数据列(例如,从2019-12-25 11:30:00到2019-12-25) 目录

  10. BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题

    BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 参考文章: (1)BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 (2)https://www. ...

最新文章

  1. 人脸识别引擎SeetaFaceEngine中Alignment模块使用的测试代码
  2. 陆奇新动向:将担任拼多多独立董事
  3. 登录方式2:windows命令行
  4. 7-24 树种统计 (25 分)(详解)map做法 map真香啊!
  5. Codeforces Round 493
  6. 圆形进度条以及百分率指示器 Scroller类的练习
  7. 动态规划 NOIP经典问题 开心的金明(洛谷P1060题题解,Java语言描述)
  8. 【kafka】kafka log 存储时间 小于 offset 存储时间 offset存在但是消费不到
  9. 在Word中使用Quick Parts功能
  10. 剑指offer面试题[6]-重建二叉树
  11. 第二课--C语言基础(3部分--共三部分)
  12. 删除查找后的目录或文件
  13. PHP实现手机归属地查询API接口
  14. C#窗体控件-文本框控件TextBox
  15. 收藏丨8个常用中文OCR数据集,附下载链接
  16. 怎样做一份良好的竞品分析?通常有哪些方法?
  17. CH340G版USB转串口自动下载器原理图
  18. signature=99d87437cab1487c89a59a65cc379430,剖析根据汉字转拼音的JQuery插件源码
  19. Hbase GC调优原理分析
  20. 算法二(python)

热门文章

  1. Auto-encoder(自编码器)的原理及最新的技术应用(李宏毅视频课整理和总结)
  2. 核桃编程C语言,核桃编程毕业设计获奖感言?
  3. 基于matlab的图像形状与分类毕业设计(含源文)
  4. 自己做项目时整理的上传Excel表格
  5. 商软B v5.4.1的登录验证分析
  6. can和could的用法_can 和 could 用法异同
  7. 河道水面漂浮物垃圾识别监测 yolov7
  8. 香港服务器几种网站测速的方法
  9. python zipfile压缩的文件用shell命令解压_Python学习第177课——bzip2、zip方式压缩文件和解压文件...
  10. 用计算机打出刚好遇见你,【计算机·故事】刚好遇见你 余生都是你