java年月日转中文

记录java中年月日转中文的方式,手动,没有引用额外的jar包

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestPYTHON {
	public static void main(String[] args) throws Exception {
		
		String chineseDate = "";
		String d = "2018-8-2";

		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date da = sdf.parse(d);
		System.out.println(da);
		// String datestr = sdf.format(new Date());
		String datestr = sdf.format(da);
		System.out.println(datestr);
		String[] strs = datestr.split("-");
		// 年
		for (int i = 0; i < strs[0].length(); i++) {
			chineseDate += formatDigit(strs[0].charAt(i));
		}
		// chineseDate = chineseDate+"年";
		// 月
		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 + "日";

		System.out.println(chineseDate);

	}

	public static char formatDigit(char sign) {
		if (sign == '0')
			sign = '〇';
		if (sign == '1')
			sign = '一';
		if (sign == '2')
			sign = '二';
		if (sign == '3')
			sign = '三';
		if (sign == '4')
			sign = '四';
		if (sign == '5')
			sign = '五';
		if (sign == '6')
			sign = '六';
		if (sign == '7')
			sign = '七';
		if (sign == '8')
			sign = '八';
		if (sign == '9')
			sign = '九';
		return sign;
	}
}

参考

https://www.cnblogs.com/charley_yang/archive/2010/09/13/1825122.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值