日期中文化

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
	}
	
自己写的,有什么不对地方希望在下方评论,我进行修改。

猜你喜欢

转载自blog.csdn.net/yuliqi0429/article/details/81012079
今日推荐