SpringBoot:解决日期转换问题和日期展示问题

本次我们解决问题:日期展示问题(返回的json中日期的格式是:“birthday”:“1988-08-07T15:00:00.000+0000”);需要转化成指定的格式(年月日时分秒格式)

1、问题如

在这里插入图片描述

2、解决方案

在配置中加入

#时间戳统一转换
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

3、测试
在这里插入图片描述

日期转换的问题:向接口传入日期字符串,自动转换成date格式的对象

1、问题

在这里插入图片描述

2、接口的代码

	/*** 测试日期* @param joinDay* @return*/@RequestMapping("date")public Date testDate(Date joinDay){return joinDay;}

3、解决方案

package com.streamyear.course.config;import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;/*** 全局页面传入日期字符串,自动转换成日期格式*/
@Component
public class DateConverterConfig implements Converter<String, Date> {private static final List<String> formarts = new ArrayList<>(4);static{formarts.add("yyyy-MM");formarts.add("yyyy-MM-dd");formarts.add("yyyy-MM-dd hh:mm");formarts.add("yyyy-MM-dd hh:mm:ss");}@Overridepublic Date convert(String source) {String value = source.trim();if ("".equals(value)) {return null;}if(source.matches("^\\d{4}-\\d{1,2}$")){return parseDate(source, formarts.get(0));}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")){return parseDate(source, formarts.get(1));}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")){return parseDate(source, formarts.get(2));}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")){return parseDate(source, formarts.get(3));}else {throw new IllegalArgumentException("Invalid boolean value '" + source + "'");}}/*** 格式化日期* @param dateStr String 字符型日期* @param format String 格式* @return Date 日期*/public  Date parseDate(String dateStr, String format) {Date date=null;try {DateFormat dateFormat = new SimpleDateFormat(format);date = dateFormat.parse(dateStr);} catch (Exception e) {}return date;}}

4、测试

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

13 - java包装类

变量的包装类 八种数据类型 八种包装类 基础数据类型引用数据类型byteByteshortShortintIntegerlongLongfloatFlatdoubleDoublecharCharacterbooleanBoolean 自动装箱 (jdk1.5就有了) Integer i 0; > Integer i new Integer("0"); //> 基础数据类型会自动…

日期格式化时注解@DateTimeFormat无效的问题分析

日期格式化时注解DateTimeFormat无效的问题分析 背景 有时候我们在写接口时&#xff0c;需要把前台传来的日期String类型转为Date类型 这时我们可能会用到DateTimeFormat注解 在请求数据为非JSON格式时&#xff0c;这个注解是没有问题的&#xff0c;可用的&#xff1b; 但…

12 - java 类加载内存图

栈是线程私有的、堆是线程公有的如果不加 static 就是堆里面的属性&#xff0c;加了static 就是元数据区的属性

source code怎么用_code-builder代码生成器

背景本来code-builder是专门为MyBatis Enhance来编写的一块代码生成器code-builder可以用来做什么&#xff1f;code-builder是一款代码生成maven mojo插件&#xff0c;通过简单的配置就可以完成数据库内Table转换Entity或者其他实体类&#xff0c;想怎么生成完全根据你的个人业…

@Transactional注解的失效场景

Transactional注解的失效场景 引言 Transactional 注解相信大家并不陌生&#xff0c;平时开发中很常用的一个注解&#xff0c;它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用Transactional注解时需要注意许多的细节&#xff0c;不然你会发现Transactional总是…

11 - java构造方法

java构造方法 构造方法 构造方法名与类名一致没有返回值使用 new 其实是在调用构造方法如果一个类里面没有构造方法&#xff0c;会自动创建一个空的构造方法构造方法能传参数&#xff0c;在构造期间就把对象的值赋好一旦有了新的有参数的构造方法&#xff0c;空的构造函数就不…

python无限循环的关键字_零基础学python-12.2 关键字pass,else,break,continue

关键字pass,else,break,continuepass&#xff1a;不做任何事情&#xff0c;只占位else&#xff1a;当正常跳出循环时执行break&#xff1a;满足某些条件跳出循环&#xff0c;不再执行任何东西continue&#xff1a;满足某些条件跳出本次循环&#xff0c;然后继续执行循环里面的东…

python中迭代器有哪些_Python迭代器:什么是Python中的迭代器以及如何使用它?

Python编程语言已经扩展了创新的每一个方面&#xff0c;包括机器学习、数据科学、人工智能等&#xff0c;这些概念是Python作为编程语言取得成功的基石。在本文中&#xff0c;我们将通过以下概念来理解PythoPython编程语言已经扩展了创新的每一个方面&#xff0c;包括机器学习、…

Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?

写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑。与其说是坑&#xff0c;还不如说是自己事务这块儿太薄弱导致的&#xff08;自嘲下&#xff09;。 项目环境 Spring Boot 下面开始问题描述&#xff0c;发生的过程有点长&#xff0c;想直接看方案的直接跳过哦~&#x…

10 - java 权限修饰符

java权限修饰符 作用域当前类同package子孙类其他packagepublic√√√√protected√√√friendly(defult)√√private√ 为什么要时候用权限修饰符&#xff1f; 对自己而言&#xff0c;保护代码不受污染对别人而言&#xff0c;给别人一个干净的类

vue后端必须接口吗_前后端分离模式,后端说开发完才能给接口文档,合理吗

背景&#xff1a;汇总了下老王在其他平台的原创回复&#xff0c;欢迎关注老王原创公众号【软件老王】&#xff0c;关注不迷路。一、后端开发完接口才给出接口文档&#xff0c;合理吗&#xff1f;本人所在的项目组做项目过程中&#xff0c;后端不会先给出接口文档&#xff0c;而…

JAVA那点破事,并发、IO模型、集合、线程池、死锁、非阻塞、AQS...

JDK、JRE、JVM 三者有什么关系&#xff1f; 答案&#xff1a; JDK&#xff08;全称 Java Development Kit&#xff09;&#xff0c;Java开发工具包&#xff0c;能独立创建、编译、运行程序。 JDK JRE java开发工具&#xff08;javac.exe/java.exe/jar.exe) JRE&#xff08;…

09 - java 包命名规范

java包命名规范 – 域名倒置 Java的包名都有小写单词组成&#xff0c;类名首字母大写&#xff1b;包的路径符合所开发的 系统模块的 定义&#xff0c;比如生产对生产&#xff0c;物资对物资&#xff0c;基础类对基础类。以便看了包名就明白是哪个模块&#xff0c;从而直接到对…

python memoryview_memoryview的用法

本来第一次看《流畅的python》觉得这部分没用&#xff0c;就跳过去&#xff0c;后面又出现&#xff0c;回头看还是一知半解&#xff0c;查了诸多资料&#xff0c;好像有一点明白了&#xff0c;立下帖子。1、memoryviewmemoryview()函数返回给定参数的内存查看对象(memory view)…

07 - java 方法里面的 return

Java 方法里面的 return return 之函数返回值 public static int sum(a, b) {return a b; }return 之结束方法 Scanner sc new Scanner(System.in): int num sc.nextInt();if (num 5) {return;System.out.println("哈哈哈&#xff0c;我是不会执行的"); // 函数遇…

世外桃源六python_六年匠心 桃花源记6月1日全民狂欢

六年匠心独运&#xff0c;烂漫之约!深圳淘乐携手并肩云畅游戏倾情打造出的人民良知连击手游《桃花源记》昨天宣布告一段落为期一周的小彩蛋检测!小彩蛋检测打开至今&#xff0c;诸位少主呼叫队友飘缈世外桃源的情绪高涨&#xff0c;网络服务器因而一度出現了满员的隆重开幕。而…

PTA 最小生成树-kruskal

7-92 最小生成树-kruskal 分数 10 全屏浏览题目 作者 任唯 单位 河北农业大学 题目给出一个无向连通图&#xff0c;要求求出其最小生成树的权值。 温馨提示&#xff1a;本题请使用kruskal最小生成树算法。 输入格式: 输出格式: 输出一个整数表示最小生成树的各边的长度之和。…

06 - java 方法

Java 方法 一个方法可以重复使用很多次&#xff0c;减少不必要的冗余&#xff0c;以及重复很多次不必要的操作让整个程序看起来模块化 public static void main (String[] args) {Scanner sc new Scanner(System.in);int num sc.nextInt();switch (num) {case 1: int[] arr…

Spring系列:父子容器详解

又一次被面试官带到坑里面了。 面试官&#xff1a;springmvc用过么&#xff1f; 我&#xff1a;用过啊&#xff0c;经常用呢 面试官&#xff1a;springmvc中为什么需要用父子容器&#xff1f; 我&#xff1a;嗯。。。没听明白你说的什么。 面试官&#xff1a;就是controll…

05 - 基本排序

01-冒泡排序 public static int[] bubbleSort(int[] arr) {for (int i 0; i < arr.length - 1; i) {for (int j 0; j < arr.length - i; j) {if (arr[i] > arr[i 1]) {// 两两交换int temp arr[i];arr[i] arr[i 1];arr[i 1] temp;}}}return arr; }02-选择排序…