返回顶部
首页 > 资讯 > 后端开发 > Python >解决springboot 实体类String转Date类型的坑
  • 783
分享到

解决springboot 实体类String转Date类型的坑

2024-04-02 19:04:59 783人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录SpringBoot 实体类String转Date类型Date解析String类型的参数springboot 实体类String转Date类型 前端传入一个String的时间字符

springboot 实体类String转Date类型

前端传入一个String的时间字符串如:2019-07-18 23:59:59

后端实体类要在头顶加注解:


@DateTimeFORMat(pattern = "yyyy-MM-dd HH:mm:ss")

不然会出现报错

Date解析String类型的参数

1.首先建立String to Date 的解析实现


import org.apache.commons.lang3.StringUtils;
import org.springframework.core.convert.converter.Converter;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDateConverter implements Converter<String, Date> {
    private static final String dateFormat = "yyyy-MM-dd HH:mm:ss";
    private static final String shortDateFormat = "yyyy-MM-dd";
    @Override
    public Date convert(String value) {
        if (StringUtils.isEmpty(value)) {
            return null;
        }
        value = value.trim();
        try {
            if (value.contains("-")) {
                SimpleDateFormat formatter;
                if (value.contains(":")) {
                    formatter = new SimpleDateFormat(dateFormat);
                } else {
                    formatter = new SimpleDateFormat(shortDateFormat);
                }
                Date dtDate = formatter.parse(value);
                return dtDate;
            } else if (value.matches("^\\d+$")) {
                Long lDate = new Long(value);
                return new Date(lDate);
            }
        } catch (Exception e) {
            throw new RuntimeException(String.format("parser %s to Date failed", value));
        }
        throw new RuntimeException(String.format("parser %s to Date failed", value));
    }
}

2.创建全局的解析配置


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.support.GenericConversionService;
import org.springframework.WEB.bind.support.ConfigurableWebBindingInitializer;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import javax.annotation.PostConstruct;
@Configuration
public class DateHandlerAdapter {
    @Autowired
    private RequestMappingHandlerAdapter handlerAdapter;
    
    @PostConstruct
    public void initEditableAvlidation() {
        ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) handlerAdapter
                .getWebBindingInitializer();
        if (initializer.getConversionService() != null) {
            GenericConversionService genericConversionService = (GenericConversionService) initializer
                    .getConversionService();
            genericConversionService.addConverter(new StringToDateConverter());
        }
    }
}

添加完这两个文件以后 在传参数类型为Date的参数时就不会再报 date解析失败的错误了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 解决springboot 实体类String转Date类型的坑

本文链接: https://lsjlt.com/news/155342.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 解决springboot 实体类String转Date类型的坑
    目录springboot 实体类String转Date类型Date解析String类型的参数springboot 实体类String转Date类型 前端传入一个String的时间字符...
    99+
    2024-04-02
  • 如何将String转Date类型
    ① 先创建一个日期格式化类 SimpleDateFormat ,然后从前端获取用户操作数据产生的创建时间,最后通过SimpleDateFormat 实例化对象的parse()方法将String类型转换成Date类型。 //String转Da...
    99+
    2023-09-01
    java
  • String类型和Date类型相互转换(java)
    ** String类型和Date类型怎样相互转换? ** 1、format方法可以把Date类型转换成特定格式的String类型,如果Date类型和定义的SimpleDateFormat长度不一致会自动在后面补充0 //自定义需要输出的St...
    99+
    2023-08-23
    java jvm sql
  • MySQL:varchar与date类型互转,对接java数据类型String和Date
    目录 问题现象: 问题分析: varchar 转 date : date 转 varchar:  解决方法: varchar 转 date : date 转 varchar: 问题现象:         今天在项目中遇到一个问题: 现象:...
    99+
    2023-09-08
    mysql mybatis java
  • 怎么在mongodb中将string类型转换成Date类型
    在mongodb中将string类型转换成Date类型的方法:1.启动mongodb;2.登录mongodb数据库;3.使用数据库;4.使用find()方法转换;具体步骤如下:首先,在命令行中启动mongodb服务;net start Mo...
    99+
    2024-04-02
  • Golang 实现interface类型转string类型
    看代码吧~ // Strval 获取变量的字符串值 // 浮点型 3.0将会转换成字符串3, "3" // 非数值或字符类型的变量将会被转换成JSON格式字符串 func Str...
    99+
    2024-04-02
  • 浅谈Mybatis+mysql 存储Date类型的坑
    场景: 把一个时间字符串转成Date,存进Mysql。时间天数会比实际时间少1天,也可能是小时少了13-14小时 Mysql的时区是CST(使用语句:show VARIABLES LIKE '%time_zone%'...
    99+
    2022-05-25
    Mybatis mysql 存储Date类型
  • springboot:接收date类型的参数方式
    目录springboot:接收date类型的参数springboot 传递Date等实体参数时候报错springboot:接收date类型的参数 今天有个postmapping方法,...
    99+
    2024-04-02
  • SpringMVC @RequestBody Date类型的Json转换方式
    目录SpringMVC @RequestBody Date类型的Json转换通过GsonBuilder设置DateFormat的格式以零配置框架为例以零配置形式框架下的代码实现为例讲...
    99+
    2024-04-02
  • 解决localstorage存储boolean类型值的小坑
    localstorage存储boolean类型值小坑 今天使用localstorage存储boolean数据时,发现怎么弄页面上数据显示就是有问题。 后面才发现,在localstor...
    99+
    2024-04-02
  • springcloud feign服务间调用date类型转换错误怎么解决
    这篇文章主要讲解了“springcloud feign服务间调用date类型转换错误怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springcloud feig...
    99+
    2023-06-29
  • MySQL中string转int类型怎么实现
    在MySQL中,可以使用CAST或者CONVERT函数将字符串转换为整数类型。 例如,可以使用CAST函数将字符串转换为整数: SE...
    99+
    2024-03-06
    MySQL
  • c++中int转string类型怎么实现
    在 C++ 中,您可以使用以下方法将整数类型 (int) 转换为字符串类型 (string): #include <iostr...
    99+
    2024-04-02
  • Java之int和string类型转换详解
    int、String的类型转换 int -> String int i=12345; String s=""; 第一种方法:s=i+""; 第二种方法:s=String.val...
    99+
    2024-04-02
  • java泛型怎么转换为实体类
    在Java中,可以使用泛型来定义一个类型,在需要转换为实体类时,可以使用反射机制来实现。首先,假设有一个泛型类MyClass,其中T...
    99+
    2023-10-18
    java
  • SpringBoot枚举类型的自动转换的实现
    目录1、请求头接收参数2、请求体接收3、添加自定义枚举序列化需求:一般我们在数据库都会定义数值型的枚举常量,不管是序列化还是反序列化都是需要我们手动去转换成枚举类型的,既然这样我们能...
    99+
    2024-04-02
  • JavaMap所有的值转为String类型
    可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型: Map<String, Object> map = new Ha...
    99+
    2023-05-18
    Java Map转为String类型 Java Map转String
  • 解决SpringBoot扫描不到公共类的实体问题
    SpringBoot扫描不到公共类的实体 我的项目结构是 parent ademo bdemo parent是一个大项目,项目里面有web、service和en...
    99+
    2024-04-02
  • SpringBoot 返回Json实体类属性大小写的解决
    目录返回Json实体类属性大小写问题Json转换大小写的坑返回Json实体类属性大小写问题 总归上述问题Rt,其实今天开发刚遇到,当时找了半天为啥前台传参后台却接收不到,原来是返回的...
    99+
    2024-04-02
  • java中Calendar与Date类型互相转换的方法
    下文笔者讲述使用Java代码将Calendar与Date类型互转的方法分享,如下所示:Calendar与Date类型是我们日常开发中常用的两种数据类型, 它们用于不同的场景,两者具有...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作