date转string再转date问题?

前台日历插件传进后台的日期格式为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

总结:注意日期格式转化。

猜你喜欢

转载自my.oschina.net/u/2301293/blog/908846
今日推荐