jmd 发表于 2013-2-4 20:17:02

用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]
查看完整版本: 用Java写了一个将日期转化为大写日期格式的工具类