如何通过前端把时间字符串转成date对象

xiaoxiao2021-02-27  167

今天写项目时遇到这样一个问题,现在有这样一个需求:需要用户在页面上输入时间,然后提交给后台保存进数据库。

我的前端效果是这样的:

注意这里的时间是String类型的,而我的实体类里写的该属性是date类型,因为这个问题我的浏览器一直在报400,众所周知,400是客户端错误,而且经过各种方法测试后也证明了根本就没有请求到controller, 但是url却是正确的。在捣鼓了两个小时以后,终于我注意到了时间类型的问题,果然把所有和时间有关的文本框都注释后,请求成功!

接下来就是转换时间类型和格式的问题了,spring给我们提供了转换器,接下来是老师帮我配置的转换器:

在springmvc.xml中:

<mvc:annotation-driven conversion-service="conversionService"/> <!-- 转换器 --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <!-- 转换器 --> <property name="converters"> <list> <bean class="com.thunderSoft.utils.DateConverter" /> </list> </property> </bean> 转换器具体内容:

public class DateConverter implements Converter<String, Date>{ SimpleDateFormat[] sdFormats=new SimpleDateFormat[]{ new SimpleDateFormat("yyyy-MM-dd"), new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"), new SimpleDateFormat("yyyy/MM/dd"), new SimpleDateFormat("dd/MM/yyyy"), new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"), new SimpleDateFormat("dd/MM/yyyy hh:mm:ss") }; @Override public Date convert(String str) { Date date=null; for (int i = 0; i < sdFormats.length; i++) { try { date=sdFormats[i].parse(str); break; } catch (Exception e) { continue; } } return date; } } 好了问题解决了。

转载请注明原文地址: https://www.6miu.com/read-12990.html

最新回复(0)