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

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

我的前端效果是这样的:

注意这里的时间是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;
	}

}


好了问题解决了。



猜你喜欢

转载自blog.csdn.net/qq908443093/article/details/71189893
今日推荐