【发布时间】:2018-05-15 18:21:10
【问题描述】:
我想将java中的日期对象转换为上述格式的字符串。
请注意日期中应包含“st”或“nd”或“rd”或“th”
【问题讨论】:
-
你不能在提供给解析器之前去掉这两个字符吗?
标签: java date datetime-format
我想将java中的日期对象转换为上述格式的字符串。
请注意日期中应包含“st”或“nd”或“rd”或“th”
【问题讨论】:
标签: java date datetime-format
这不是一个好的解决方案,但我通过以下方式得到了预期的结果:
public static void main(String[] args) {
MainClass mainClass = new MainClass();
Date date = new Date();
System.out.println(mainClass.getFormattedDate(date));
}
public String getFormattedDate(Date date){
SimpleDateFormat formatDayOfMonth = new SimpleDateFormat("d");
int day = Integer.parseInt(formatDayOfMonth.format(date));
SimpleDateFormat dateStr = new SimpleDateFormat("d'st' 'of' MMMM yyyy");
String dayStr = dateStr.format(date).replace("st", getSuffixes(day));
return dayStr;
}
private String getSuffixes(int day) {
switch(day%10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th";
}
}
【讨论】: