SpringBoot 日期转换
SpringBoot 日期转换
前提:
请求参数里面的string转化为date和使用@RequestBody请求将json里面的string转化为date这是两个问题。
1. 传入参数时string转换为Date
2. 返回值时date转换为string
对于请求参数里面string转化为date使用了全局的转换器可以解决问题,但是对于@RequestBody这种提交的不起作用```java
@Component
public class StringToDateConverter implements Converter<String, Date> {private static final String dateFormat = "MM/dd/YYYY hh:mm:ss a";@Overridepublic Date convert(String value) {SimpleDateFormat formatter = new SimpleDateFormat(dateFormat);try {return formatter.parse(value);} catch (Exception e) {throw new RuntimeException(String.format("parser %s to Date fail", value));}}
}
局部转换
@DatetimeFormat是将String转换成Date,一般前台给后台传值时用,实践不可用。
@JsonFormat(pattern="yyyy-MM-dd", timezone="GMT+8") 将Date转换成String 一般后台传值给前台时,前台传值给后台也可以
另一种方式的局部转换,使用@JsonDeserialize和@JsonSerialize
@Component
public class DateJsonDeserializer extends JsonDeserializer<Date> {public static final SimpleDateFormat format=new SimpleDateFormat("MM/dd/YYYY");@Overridepublic Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException {try {return format.parse(jsonParser.getText());} catch (ParseException e) {e.printStackTrace();throw new RuntimeException(e);}}
}
使用
@JsonDeserialize(using = DateJsonDeserializer.class)
private Date anticipatedStartedDate;
参考:
https://blog.csdn.net/walkcode/article/details/78956559
全局转换对于输入输出都起作用,这是最好的方式,对于请求参数和json,输入输出都起作用
spring:jackson:date-format: MM/dd/YYYY HH:mm:sstime-zone: GMT+8
hh为12小时制, HH为24小时制。使用24小时制的要把时区加上,不然会和本地时间相差8小时。如果改为MM/dd/yyyy HH:mm:ss,不加时区也是正常的。
注意: 日期这个是完全匹配的,如果你传MM/dd/YYYY是要报错的,必须加上后面的HH:mm:ss a
SpringBoot 日期转换相关推荐
- SpringBoot 日期转换错误JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime`
LocalDateTime类型格式化,先转字符串再格式化(Date类型可以直接格式化) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern=&qu ...
- SpringBoot日期格式转换,SpringBoot配置全局日期格式转换器
文章目录 1. SpringBoot设置后台向前台传递Date日期格式 1.1 方式1:配置文件修改 1.2 方式2:在javabean实体类上加注解 I. `@JsonFormat`注解 II. ` ...
- SpringBoot:解决日期转换问题和日期展示问题
本次我们解决问题:日期展示问题(返回的json中日期的格式是:"birthday":"1988-08-07T15:00:00.000+0000");需要转化成指 ...
- SpringBoot日期格式化处理(单独与全局)
SpringBoot日期格式化处理(单独与全局) 包括单独,与全局 1. 单独配置 1.1 使用Springboot提供注解方式 springboot默认提供,在需要的字段上使用@JsonFormat ...
- mysql 日期时间格式化字符串_MySQL日期函数与日期转换格式化函数大全
Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1.DAYOFWEEK(date) SELECT DAYOFWEEK('2016-01 ...
- 将中文日期转换成自己想要的格式如:2018年09月29日转换成2018-09-29
def date_conversion(self,date): '''将中文日期转换成自己想要的格式如:2018年09月29日转换成2018-09-29''' c = list(re.findall( ...
- atitit.设计模式(1)--—职责链模式(chain of responsibility)最佳实践O7 日期转换
atitit.设计模式(1)---职责链模式(chain of responsibility)最佳实践O7 日期转换 1. 需求:::日期转换 1 2. 可以选择的模式: 表格模式,责任链模式 1 3 ...
- oracle时间戳-日期转换
为什么80%的码农都做不了架构师?>>> 日期转换毫秒 Sql代码 SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY- ...
- sql server datetime格式_为什么你SQL Server中SQL日期转换出错了呢?
开发人员有时候使用类似下面SQL将字符串转换为日期时间类型,乍一看,这样的SQL的写法是没有什么问题的.但是这样的SQL其实有时候就是一个定时炸弹,随时可能出现问题(隐藏的炸弹而已,只是等触发条件而已 ...
最新文章
- python 编程实例 1
- 史上最大AI芯片诞生:462平方厘米、40万核心、1.2万亿晶体管,创下4项世界纪录...
- oracle 增加ora容量_oracle数据库报错:ORA-01653无法在表空间扩展解决办法 ,增加表空间或表空间增加数据文件...
- 简书-一个集优雅文艺和Markdown于一身的网站
- ORACLE 索引的三种状态: VALID、 N/A 、UNUSABLE
- 【马哥教育视频】cacti入门及进阶[已更新至第四段]
- 如何在脱敏数据中使用BERT等预训练模型
- 爬虫伪装请求头-fake-useragent
- Oracle中可以代替like进行模糊查询的方法instr(更高效)
- 跟华为悦盒V9U机顶盒拼了
- 【收藏的一些博客地址-后端开发】
- FPS游戏中的喷漆效果原理
- deeplinux 热点_在deepin linux系统中连接无线的同时开启热点(即网络共享)的步骤
- 【应用C】C语言实现离散数学合式公式的递归判断
- 非规则合并单元格内容合并
- 安卓手机Android文件夹下obb文件是什么,obb是什么文件?怎么使用obb文件夹
- Vscode babel 将es6转es5
- android 从左向右平移_Android实现循环平移动画示例
- Deep Dream模型
- 【Linux 中国】12 款简单好用的保护隐私的软件
热门文章
- 证明:hitting set是NP完全问题
- Origin双坐标轴图表
- Bzoj 2563: 阿狸和桃子的游戏 题解
- python爬取微博评论_python爬虫抓取新浪微博数据
- 075-数组越界异常-ArrayIndexOutOfBoundsException-【视频讲解】
- SDNU-1014 页码问题
- 安卓测试二(Espresso)
- IDEA启动tomcat找不到应用程序(localhost:8080)
- android 手机壁纸源码,Android设置手机壁纸-源码(WallPaper)
- oracle收回dba权限后的检查,Oracle RAC GI 权限 检查和修复 方法