日期中文化

一般我们我们编程的日期的格式多数是: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;
	}
	
自己写的,有什么不对地方希望在下方评论,我进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉立琦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值