如何使用SimpleDateFormat将字符串“06 \ 24 \ 1989”解析为日期06/24/1989格式

时间:2013-03-21 11:22:48

标签: java parsing datetime simpledateformat

如何使用SimpleDateFormat将字符串“06 \ 24 \ 1989”(如果用户输入如此)解析为日期格式(MM / DD / YYYY)。

2 个答案:

答案 0 :(得分:2)

只需使用SimpleDateFormatString解析为Date,再使用另一个将其转换为所需格式的String。请记住在字符串文字中使用双反斜杠(\是转义字符)

SimpleDateFormat sdfParse = new SimpleDateFormat("MM\\dd\\yyyy");
SimpleDateFormat sdfFormat = new SimpleDateFormat("MM/dd/yyyy");
try{
    Date date = sdfParse.parse("09\\24\\1989");
    System.out.println(sdfFormat.format(date)); // Prints 09/24/1989
}
catch (ParseException e){
    System.out.println("Invalid date");
}

当然,您可以将所有反斜杠替换为正斜杠,如果要验证它是有效日期,请尝试使用new SimpleDateFormat("MM/dd/yyyy");进行解析。

String input = "09\\24\\1989".replace("\\", "/");
SimpleDateFormat sdfParse = new SimpleDateFormat("MM\\dd\\yyyy");    
try{
    sdfFormat.parse(input))
}
catch (ParseException e){
    System.out.println("Invalid date");
}

答案 1 :(得分:0)

try {
    String dateString = "09\\24\\1989";
    SimpleDateFormat format = new SimpleDateFormat("MM\\DD\\YYYY");
    Date myDate = format.parse(dateString);
} catch (ParseException e) {
    //what you want
}