-1

SimpleDateFormat を使用して文字列 "06\24\1989" (ユーザーがこのように入力した場合) を日付形式 (MM/DD/YYYY) に解析する方法。

4

2 に答える 2

2

を使用してSimpleDateFormatを解析StringDate、別のを使用し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");
}
于 2013-03-21T11:31:20.050 に答える
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
}
于 2013-03-21T11:38:23.623 に答える