我有String
这样的人:2013-04-19
,我想将其更改为:April 19th 2013
。我知道Java中有一些类SimpleDateFormat
,但我不知道应该使用哪种函数。也许我需要选择班级Pattern
?我需要一些帮助。
答案 0 :(得分:2)
请尝试以下操作,这样可以在几天内为您提供正确的“th”,“st”,“rd”和“nd”。
public static String getDayOfMonthSuffix(final int n) {
if (n >= 11 && n <= 13) {
return "th";
}
switch (n % 10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th";
}
}
public static void main(String[] args) throws ParseException {
Date d = new SimpleDateFormat("yyyy-MM-dd").parse("2013-04-19");
int day = Integer.parseInt(new java.text.SimpleDateFormat("dd").format(d));
SimpleDateFormat sdf = new SimpleDateFormat("MMMMM dd'" + getDayOfMonthSuffix(day) + "' yyyy");
String s = sdf.format(d);
System.out.println(s);
}
将打印April 19th 2013
(日期终止改编自this post)
答案 1 :(得分:1)
试试这个:
String originalDate = "2013-04-19";
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(originalDate);
} catch (Exception e) {
}
String formattedDate = new SimpleDateFormat("MMMM dd yyyy").format(date);
不会打印st,nd,rd等
答案 2 :(得分:1)
只需使用SimpleDateFormat类中的parse方法 试试这个:
new SimpleDateFormat("MMM dd YYYY").parse("2013-04-19");