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 日期转换相关推荐

  1. SpringBoot 日期转换错误JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime`

    LocalDateTime类型格式化,先转字符串再格式化(Date类型可以直接格式化) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern=&qu ...

  2. SpringBoot日期格式转换,SpringBoot配置全局日期格式转换器

    文章目录 1. SpringBoot设置后台向前台传递Date日期格式 1.1 方式1:配置文件修改 1.2 方式2:在javabean实体类上加注解 I. `@JsonFormat`注解 II. ` ...

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

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

  4. SpringBoot日期格式化处理(单独与全局)

    SpringBoot日期格式化处理(单独与全局) 包括单独,与全局 1. 单独配置 1.1 使用Springboot提供注解方式 springboot默认提供,在需要的字段上使用@JsonFormat ...

  5. mysql 日期时间格式化字符串_MySQL日期函数与日期转换格式化函数大全

    Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1.DAYOFWEEK(date) SELECT DAYOFWEEK('2016-01 ...

  6. 将中文日期转换成自己想要的格式如:2018年09月29日转换成2018-09-29

    def date_conversion(self,date): '''将中文日期转换成自己想要的格式如:2018年09月29日转换成2018-09-29''' c = list(re.findall( ...

  7. atitit.设计模式(1)--—职责链模式(chain of responsibility)最佳实践O7 日期转换

    atitit.设计模式(1)---职责链模式(chain of responsibility)最佳实践O7 日期转换 1. 需求:::日期转换 1 2. 可以选择的模式: 表格模式,责任链模式 1 3 ...

  8. oracle时间戳-日期转换

    为什么80%的码农都做不了架构师?>>>    日期转换毫秒 Sql代码 SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY- ...

  9. sql server datetime格式_为什么你SQL Server中SQL日期转换出错了呢?

    开发人员有时候使用类似下面SQL将字符串转换为日期时间类型,乍一看,这样的SQL的写法是没有什么问题的.但是这样的SQL其实有时候就是一个定时炸弹,随时可能出现问题(隐藏的炸弹而已,只是等触发条件而已 ...

最新文章

  1. python 编程实例 1
  2. 史上最大AI芯片诞生:462平方厘米、40万核心、1.2万亿晶体管,创下4项世界纪录...
  3. oracle 增加ora容量_oracle数据库报错:ORA-01653无法在表空间扩展解决办法 ,增加表空间或表空间增加数据文件...
  4. 简书-一个集优雅文艺和Markdown于一身的网站
  5. ORACLE 索引的三种状态: VALID、 N/A 、UNUSABLE
  6. 【马哥教育视频】cacti入门及进阶[已更新至第四段]
  7. 如何在脱敏数据中使用BERT等预训练模型
  8. 爬虫伪装请求头-fake-useragent
  9. Oracle中可以代替like进行模糊查询的方法instr(更高效)
  10. 跟华为悦盒V9U机顶盒拼了
  11. 【收藏的一些博客地址-后端开发】
  12. FPS游戏中的喷漆效果原理
  13. deeplinux 热点_在deepin linux系统中连接无线的同时开启热点(即网络共享)的步骤
  14. 【应用C】C语言实现离散数学合式公式的递归判断
  15. 非规则合并单元格内容合并
  16. 安卓手机Android文件夹下obb文件是什么,obb是什么文件?怎么使用obb文件夹
  17. Vscode babel 将es6转es5
  18. android 从左向右平移_Android实现循环平移动画示例
  19. Deep Dream模型
  20. 【Linux 中国】12 款简单好用的保护隐私的软件

热门文章

  1. 证明:hitting set是NP完全问题
  2. Origin双坐标轴图表
  3. Bzoj 2563: 阿狸和桃子的游戏 题解
  4. python爬取微博评论_python爬虫抓取新浪微博数据
  5. 075-数组越界异常-ArrayIndexOutOfBoundsException-【视频讲解】
  6. SDNU-1014 页码问题
  7. 安卓测试二(Espresso)
  8. IDEA启动tomcat找不到应用程序(localhost:8080)
  9. android 手机壁纸源码,Android设置手机壁纸-源码(WallPaper)
  10. oracle收回dba权限后的检查,Oracle RAC GI 权限 检查和修复 方法