用Java写了一个将日期转化为大写日期格式的工具类
最近给客户做项目,需要操作Excel并打印,客户要求的日期都是大写的,因此花点时间写了个工具类。开始在网上搜索了好多,但是用Java写的没找到,也没有继续搜索,却找到了一个用C#语言写的,感觉还不错,用Java模仿了一个。代码贴出来公大家参考/** * 日期操作工具类 ** @author jmdhappy * */public class DateUtil { // 日期转化为大小写public static String dataToUpper(Date date) { Calendar ca = Calendar.getInstance(); ca.setTime(date); int year = ca.get(Calendar.YEAR); int month = ca.get(Calendar.MONTH) + 1; int day = ca.get(Calendar.DAY_OF_MONTH); return numToUpper(year) + "年" + monthToUppder(month) + "月" + dayToUppder(day) + "日";}// 将数字转化为大写 public static String numToUpper(int num) { //String u[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; String u[] = {"零","一","二","三","四","五","六","七","八","九"}; char[] str = String.valueOf(num).toCharArray(); String rstr = ""; for (int i = 0; i < str.length; i++) { rstr = rstr + u + "")]; } return rstr; }// 月转化为大写 public static String monthToUppder(int month) { if(month < 10) { return numToUpper(month); } else if(month == 10){ return "十"; } else { return "十" + numToUpper(month - 10); } }// 日转化为大写 public static String dayToUppder(int day) { if(day < 20) { return monthToUppder(day); } else { char[] str = String.valueOf(day).toCharArray(); if(str == '0') { return numToUpper(Integer.parseInt(str + "")) + "十"; }else { return numToUpper(Integer.parseInt(str + "")) + "十" + numToUpper(Integer.parseInt(str + "")); } }}}
代码中并没有做过多的判断,异常处理。
页:
[1]