日期转化
//Date转String
public String dateToString(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = sdf.format(date);
return dateString;
}
//String转Date
public Date StringToDate(String dateString) {
SimpleDateFormat sdf = new SimpleDateFormat("y-M-d H:m:s");
Date date = null;
try {
date = sdf.parse(dateString);
} catch (ParseException e) {
//sdf的格式要与dateString的格式相同,否者会报错
e.printStackTrace();
}
return date;
}
注:这里”yyyy-MM-dd HH:mm:ss”与”y-M-d H:m:s”的格式是相同的,它们的不同在于当实际值位数不够时是否在前面补0
判断格式是否相同的核心是format显示的值除了补0外的其它内容要一致
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2017-12-08 10:57:24
SimpleDateFormat sdf2 = new SimpleDateFormat("y-M-d H:m:s");
2017-12-8 10:57:24
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss");
2017-十二月-08 10:57:24
sdf3的MMM的格式就与sdf和sdf2不相同,因为它显示出来的值已经是中文的月份了,所以在开头的String转date方法时会有转化异常(java.text.ParseException: Unparseable date),因为开头的String转date方法中的SimpleDateFormat格式为”y-M-d H:m:s”