yyyy-MM-dd日期转中文

    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;
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值