SpringMVC中对于时间字段的处理经常会遇到格式问题,大体有两种情况,第一种是提交表单时时间格式错误,表单提交不上出。第二种是数据返回时,前台页面只能显示一个长整数。下面针对这两个问题分别给出相应的解决方法:
1.提交表单问题。
在后台实体类时间字段加入@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")注解,其中pattern字段的数据格式可以自由定义。
2.数据返回格式问题
(1)在后台实体类加入@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss"),该注解需要jackson jar包的支持。
(2)前台编写时间格式转换函数:
/**
* Date类型转换String
* @param datetime
* @returns {String}
*/
function dateToStr(datetime){
datetime = new Date(datetime);
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1;
var date = datetime.getDate();
var hour = datetime.getHours();
var minutes = datetime.getMinutes();
var second = datetime.getSeconds();
if (month < 10) {
month = "0" + month;
}
if (date< 10){
date = "0" + date;
}
if (hour < 10){
hour = "0" + hour;
}
if (minutes < 10){
minutes = "0" + minutes;
}
if (second < 10){
second = "0" + second ;
}
var time = year+"-"+month+"-"+date+" "+hour+":"+minutes+":"+second; //2009-06-12 17:18:05
//var time = year + "/" + month + "/" + date;
return time;
}