加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在java中将String转换为Date,无论系统格式是什么[复制]

发布时间:2020-12-15 03:07:20 所属栏目:Java 来源:网络整理
导读:参见英文答案 Parse any date in Java3个 无论当前系统日期格式如何,我都试图将日期字符串转换为java中的日期对象.因为我想让我的自定义日期格式存储在数据库中.以下是我的代码,请指教我. public static String dateToString(String date){ if(date.equals("
参见英文答案 > Parse any date in Java3个
无论当前系统日期格式如何,我都试图将日期字符串转换为java中的日期对象.因为我想让我的自定义日期格式存储在数据库中.以下是我的代码,请指教我.
public static String dateToString(String date){
    if(date.equals("")) return "";
    if(date == null || date.length() == 0){
        return "";
    }
    SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    try {
        Date l_date =  format.parse(date);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(l_date);
        String year = String.format("%04d",calendar.get(Calendar.YEAR));
        String month = String.format("%02d",calendar.get(Calendar.MONTH));
        String day = String.format("%02d",calendar.get(Calendar.DATE));
        return year + month + day;
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return "";
    }
}

对于SimpleDateFormat,它只能解析我听到的编码格式.

dateToString("16/04/2015");

它可以转换为上面的代码.但是,当我尝试使用以下格式

dateToString("Thursday,April 16,2015");

我去了Unparseable日期:“2015年4月16日星期四”错误.

解决方法

您正在尝试使用dd / MM / yyyy格式转换EEEE,MMMM dd,yyyy格式的字符串…

首先使用您尝试转换的String的正确格式,使用您希望将其转换回来的格式…

SimpleDateFormat from = new SimpleDateFormat("EEEE,yyyy");
SimpleDateFormat to = new SimpleDateFormat("dd/MM/yyyy");

String value = to.format(from.parse(dateString));

现在你可以使用像DateUtils.parseDate(String,String[])这样的东西,允许提供许多不同的格式,但仍然限于你可能知道的.

更好的解决方案是将Date值直接存储在数据库中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读