- 核心:日期类型和字符串类型的相互转换就是一种解析和匹配的过程,只不过解析和匹配都是根据自定义格式和指定字母自动识别完成的!
-
第一种:String---->Date:parse()
public Date convert(String source) {
//1.定义我们要转成的日期类型(格式是:yyyy-MM-dd HH:mm:ss),
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
//2.进行转化,转化成功直接返回
return simpleDateFormat.parse(source);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//3.如果转化失败返回null
return null;
}
- ·注意:这里的格式代表前端界面输入的字符串的格式,可以是任意的,但是指定字母不能更换!否则无法解析并转换!
-
第二种:Date---->String:format()
//将Date型日期转化成指定格式的字符串形式。例如:yyyy-MM-dd HH:mm:ss
public String changeTime(Date date){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return format.format(date);
}
- 附录:
注意:在定义要转换的格式时:yyyy-MM-dd HH:mm:ss分别表示年、月、日、时、分、秒!这是唯一指定的,不能随便更换其他字母来代替,否则在转换解析后无法正常匹配导致转换错误。
当在前端界面定义例如:<input type="text" name = "createtime" value = '<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>'>的格式表示:后端传来的Date类型的数据要自动转换成yyyy-MM-dd HH:mm:ss类型的字符串然后在界面上显示!