我需要用th或st例如 20th , 21st 来结束日期。
是否有可能实现java日期时间格式?任何形式的帮助将受到高度赞赏。感谢
答案 0 :(得分:2)
我认为这可以做你想要的:
public class Base {
public static void main(String[] args) {
for (int i = 1; i < 31; i++) {
System.out.println(i + getOrdinalFor(i));
}
}
public static String getOrdinalFor(int value) {
int tenRemainder = value % 10;
if (value == 11 || value == 12 || value == 13) {
return "th";
}
switch (tenRemainder) {
case 1:
return "st";
case 2:
return "nd";
case 3:
return "rd";
default:
return "th";
}
}
}
答案 1 :(得分:1)
首先检查您使用的位置。
if(value <=30){
getOrdinalFor(value)
}else{
return "st";
}
这是你的核心逻辑
public static String getOrdinalFor(int value) {
int tenRemainder = value % 20;
switch (tenRemainder) {
case 1:
return "st";
case 2:
return "nd";
case 3:
return "rd";
default:
return "th";
}
}