将日期yyyy-MM-dd转为数字大写的形式

/**
     * 将日期转大写
     * 例如:2013-05-13转为 二0一三年五月十三日
     * @param date
     * @return 
     */
    public static String getDxDate(String date){
        String dateArr[] = date.split("-");
        String year = dateArr[0];
        String month = dateArr[1];
        String day = dateArr[2];
        
        StringBuilder sb = new StringBuilder();
        Map<String,String> map = new HashMap<String,String>();
        map.put("0", "〇");
        map.put("1", "一");
        map.put("2", "二");
        map.put("3", "三");
        map.put("4", "四");
        map.put("5", "五");
        map.put("6", "六");
        map.put("7", "七");
        map.put("8", "八");
        map.put("9", "九");
        map.put("10", "十");
        
        //处理年
        char[] yearArr = year.toCharArray();
        for(int i=0;i<4;i++){
            sb.append(map.get(""+yearArr[i]));
        }
        sb.append("年");
        
        //处理月
        int m = Integer.parseInt(month);
        if(m>10){
            char[] monthArr = month.toCharArray();
            sb.append("十").append(map.get(""+monthArr[1]));
        }else{
            sb.append(map.get(""+m));
        }
        sb.append("月");
        
        //处理日
        int d = Integer.parseInt(day);
        if(d>10){
            if(d==20){
                sb.append("二十");
            }else if(d==30){
                sb.append("三十");
            }else{
                char[] dayArr = day.toCharArray();
                switch(dayArr[0]){
                    case '1':
                        sb.append("十");
                        break;
                    case '2':
                        sb.append("二十");
                        break;
                    case '3':
                        sb.append("三十");
                        break;
                }
                sb.append(map.get(""+dayArr[1]));
            }
            
        }else{
            sb.append(map.get(""+d));
        }
        sb.append("日");
        
        
        return sb.toString();
    }
 public static void main(String[] args) {
        String result = getDxDate("2014-02-28");
        
        System.out.println("==result:"+result);
    }
run:
==result:二〇一四年二月二十八日
成功构建 (总时间: 0 秒)

 

posted @ 2015-04-03 08:17  yshy  阅读(593)  评论(0编辑  收藏  举报