六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 41|回复: 0

用Java写了一个将日期转化为大写日期格式的工具类

[复制链接]

升级  30%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
15
 楼主| 发表于 2013-1-27 04:44:17 | 显示全部楼层 |阅读模式
最近给客户做项目,需要操作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[Integer.parseInt(str[i] + "")];         }        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[1] == '0') {                            return numToUpper(Integer.parseInt(str[0] + "")) + "十";                   }else {                            return numToUpper(Integer.parseInt(str[0] + "")) + "十" + numToUpper(Integer.parseInt(str[1] + ""));                   }        }}}

代码中并没有做过多的判断,异常处理。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表