如何将:sdf.parse(dateStr)方法返回的Date类型时间数据: Fri May 10 00:00:00 CST 2019 转为:yyyy-MM-dd格式的Date类型数据

背景:

首先我的需求是:必须要一个Date类型且格式为yyyy-mm-dd的时间数据。下面是问题产生及解决办法详细

数据库保存了一个date类型的时间数据(格式为  yyyy-MM-dd,比如:2019-05-10)

java后台需要查出这个时间数据,丢给一个bean对象缓存(以Java.Util.Date类型保存),然后丢给前台。

但是后台从数据库取出时间数据丢给bean保存下来的数据确是:2019-05-10 00:00:00.0

然后我就想到用SimpleDateFormat格式化:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String a= sdf.format(date);
Date b =sdf.parse(a);

但是这里SimpleDateFormat的parse方法得到的数据确是这样的: Fri May 10 00:00:00 CST 2019

丢给前台显示不好看,不符合需求。

思路:

先把java.util.Date类型的 时间数据按要求格式化,并再次转为java.util.Date类型。

再把格式化后的java.util.Date类型时间数据 转为java.sql.Date类,就可!

完整解决代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    //格式化规则
try {
    Date date_sj = po.getSj();       //获得你要处理的时间  Date型
    String str_sj= sdf.format(date_sj );    //格式化成yyyy-MM-dd格式的时间字符串
    Date new_date_sj =sdf.parse(str_sj);            //parse成Date类型时间数据

    //最后转换成 java.sql.Date类型数据就可以了 注意:最开始时间数据类型是 java.util.Date类型  
    java.sql.Date result_sj = new java.sql.Date(new_date_sj.getTime());
    
} catch (ParseException e) { 
    e.printStackTrace();
}

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值