固定日历代码示例
JDK 中没有任何东西可以做到这一点。
static String[] suffixes = // 0 1 2 3 4 5 6 7 8 9 { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th", // 10 11 12 13 14 15 16 17 18 19 "th", "th", "th", "th", "th", "th", "th", "th", "th", "th", // 20 21 22 23 24 25 26 27 28 29 "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th", // 30 31 "th", "st" }; Date date = new Date(); SimpleDateFormat formatDayOfMonth = new SimpleDateFormat("d"); int day = Integer.parseInt(formatDateOfMonth.format(date)); String dayStr = day + suffixes[day];
或使用日历:
Calendar c = Calendar.getInstance(); c.setTime(date); int day = c.get(Calendar.DAY_OF_MONTH); String dayStr = day + suffixes[day];
根据@thorbjørn-ravn-andersen 的评论,这样的表格在本地化时会很有帮助:
static String[] suffixes = { "0th", "1st", "2nd", "3rd", "4th", "5th", "6th", "7th", "8th", "9th", "10th", "11th", "12th", "13th", "14th", "15th", "16th", "17th", "18th", "19th", "20th", "21st", "22nd", "23rd", "24th", "25th", "26th", "27th", "28th", "29th", "30th", "31st" };