Java将日期转化为大写格式(阿拉伯大写数字)

效果:

日期转化为大写格式

代码部分:

public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String beforedate=sdf.format(new Date());
System.out.println("转换之前:"+beforedate);
String enddate=dataToUpper(beforedate);
System.out.println("转换之后:"+enddate);
}
// 日期转化为大小写
public static String dataToUpper(String dateString) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date dateTime = null;
try {
dateTime = simpleDateFormat.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar ca = Calendar.getInstance();
ca.setTime(dateTime);
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] + ""));
}
}
}

原文地址:https://www.cnblogs.com/taosheng-yijiu/p/13176331.html