前台日历插件传进后台的日期格式为yyyy-MM-dd,数据库字段为结束日期endtIme需求需要将前台传入的时间转化为yyyy-MM-dd 23:59:59 格式,保存到库。
初步尝试:
public static void main(String[] args) throws ParseException {
Date now= new Date();
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd 23:59:59");
System.out.println(now);
System.out.println(sdf1.format(now));
}
输出
Thu May 25 13:19:25 CST 2017
2017-05-25 23:59:59
但经过SimpleDateFormat.format()处理后的日期已经变成字符串格式不能直接保存进数据库。
还需要将string类型转化为date类型。继续尝试
date转string再转date之后 时分秒为0了。。。
继续完善
最后发现是
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd 23:59:59");
的问题。
日期转化"yyyy-MM-dd 23:59:59" 虽然能转成23:59:59,但不是真实的日期格式,需要再用“yyyy-MM-dd hh:mm:ss” 格式转化一下即可。完整转化代码如下
public static void main(String[] args) throws ParseException {
Date now= new Date();
Date d=null;
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd 23:59:59");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
d=sdf2.parse(sdf1.format(now));
System.out.println(now);
System.out.println(sdf1.format(now));
System.out.println(d);
}
输出:
Thu May 25 13:55:41 CST 2017
2017-05-25 23:59:59
Thu May 25 23:59:59 CST 2017
总结:注意日期格式转化。