2

dd/mm/yyyy形式の日付がありますが、5 月 2 日または 6 月 5 日のように解析したい5 月 2 日または 6 月 5 日 に解析することはできますが、その nd または th に日付を追加する必要があります。誰かがDateFormatまたはSimpleDateFormatクラスを使用して何かを提案してください?

編集:私がすでに試したことの小さなスナップショット:-

Date d = Date.parse("20/6/2013");
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM");
String dateString = sdf.format(d);
4

4 に答える 4

0

1st や 5th のような日付形式を取得するための組み込み関数はありません..日付にサフィックスを手動で追加する必要があります..以下のコードが役立つことを願っています.

パブリック クラス WorkWithDate {

private static String getCurrentDateInSpecificFormat(Calendar currentCalDate) {
    String dayNumberSuffix = getDayNumberSuffix(currentCalDate.get(Calendar.DAY_OF_MONTH));
    DateFormat dateFormat = new SimpleDateFormat(" d'" + dayNumberSuffix + "' MMMM yyyy");
    return dateFormat.format(currentCalDate.getTime());
}

private static String getDayNumberSuffix(int day) {
    if (day >= 11 && day <= 13) {
        return "th";
    }
    switch (day % 10) {
        case 1:
            return "st";
        case 2:
            return "nd";
        case 3:
            return "rd";
        default:
            return "th";
    }
}
public static void main(String [] args) throws ParseException {
    System.out.println(getCurrentDateInSpecificFormat(Calendar.getInstance()));
}

}

于 2013-07-03T12:32:41.260 に答える