public static void main(String[] args) {
String chineseDate = getChineseDate("2021-07-29"); // yyyy-MM-dd
System.out.println(chineseDate);
}
public static String getChineseDate(String dateStr) {
String chineseDate = "";
String[] strs = dateStr.split("-");
// 年
for (int i = 0; i < strs[0].length(); i++) {
chineseDate += formatDigit(strs[0].charAt(i));
}
// 月
char c1 = strs[1].charAt(0);
char c2 = strs[1].charAt(1);
String newmonth = "";
if (c1 == '0') {
newmonth = String.valueOf(formatDigit(c2));
}
else if (c1 == '1' && c2 == '0') {
newmonth = "十";
}
else if (c1 == '1' && c2 != '0') {
newmonth = "十" + formatDigit(c2);
}
chineseDate = chineseDate + "-" + newmonth + "-";
// 日
char d1 = strs[2].charAt(0);
char d2 = strs[2].charAt(1);
String newday = "";
if (d1 == '0') {// 个位数
newday = String.valueOf(formatDigit(d2));
}
else if (d1 != '1' && d2 == '0') {// 几十
newday = String.valueOf(formatDigit(d1)) + "十";
}
else if (d1 != '1' && d2 != '0') {// 几十几
newday = formatDigit(d1) + "十" + formatDigit(d2);
}
else if (d1 == '1' && d2 != '0') {// 十几
newday = "十" + formatDigit(d2);
}
else {// 10
newday = "十";
}
chineseDate = chineseDate + newday;
return chineseDate;
}
/**
*
* [数字转中文]
*
* @param sign
* @return
*/
public static char formatDigit(char sign) {
switch (sign) {
case '0':
sign = '〇';
break;
case '1':
sign = '一';
break;
case '2':
sign = '二';
break;
case '3':
sign = '三';
break;
case '4':
sign = '四';
break;
case '5':
sign = '五';
break;
case '6':
sign = '六';
break;
case '7':
sign = '七';
break;
case '8':
sign = '八';
break;
case '9':
sign = '九';
break;
default:
break;
}
return sign;
}
yyyy-MM-dd日期转中文
最新推荐文章于 2022-01-24 21:30:30 发布