版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuliqi0429/article/details/81012079
一般我们我们编程的日期的格式多数是:2018-01-01
但是有时我们需要将日期进行中文化,中文化并不是指的是2018年1月1日。而是将日期改成二〇一八年一月一日。
下面直接上代码:
public static String date2CNDate(String dateString){
String yearStr = "";
String monStr = "";
String daStr = "";
String[] dateArr = dateString.split("-");
if (dateArr.length==3) {
for (int i = 1; i <= dateArr[0].length(); i++) {
yearStr+=num2CNNum(dateArr[0].substring(i-1, i));
}
monStr+=num2CNNum(Integer.valueOf(dateArr[1]).toString());
daStr+=num2CNNum(dateArr[2]);
return yearStr+"年"+monStr+"月"+daStr+"日";
}
return null;
}
@SuppressWarnings("unused")
public static String num2CNNum(final String numStr){
String reStr = "";
if(numStr.length()==1){
switch (numStr) {
case "0":
reStr="〇";
break;
case "1":
reStr="一";
break;
case "2":
reStr="二";
break;
case "3":
reStr="三";
break;
case "4":
reStr="四";
break;
case "5":
reStr="五";
break;
case "6":
reStr="六";
break;
case "7":
reStr="七";
break;
case "8":
reStr="八";
break;
case "9":
reStr="九";
break;
default:
break;
}
}else if (numStr.length()==2) {
if(!numStr.substring(1).equals("0")){
if(numStr.substring(0,1).equals("1")){
reStr="十"+num2CNNum(numStr.substring(1));
}else {
reStr=num2CNNum(numStr.substring(0,1))+"十"+num2CNNum(numStr.substring(1));
}
}else {
if(numStr.substring(0,1).equals("1")){
reStr="十";
}else {
reStr=num2CNNum(numStr.substring(0,1))+"十";
}
}
}else if (numStr.length()==3) {
if(!numStr.substring(2).equals("0")){
reStr=num2CNNum(numStr.substring(0,1))+"百"+num2CNNum(numStr.substring(1));
}else {
reStr=num2CNNum(numStr.substring(0,1))+"百"+num2CNNum(numStr.substring(1));
}
}
return reStr;
}
自己写的,有什么不对地方希望在下方评论,我进行修改。