例如,输出:二零一九年三月十九日
import org.springframework.stereotype.Component;
import java.util.Calendar;
/**
* 中文日期
*
* @author xianhuang
* @date 2019/03/18 14:16
* @since 1.0
*/
@Component
public class ChineseDateUtil {
/**
* 获取当前时间的中文时间
* @return 中文时间
*/
public String getCurrentCNDate() {
Calendar cal = Calendar.getInstance(); // 使用日历类
String year = String.valueOf(cal.get(Calendar.YEAR)); // 得到年
String month = String.valueOf(cal.get(Calendar.MONTH) + 1); // 得到月,因为从0开始的,所以要加1
String day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)); // 得到天
StringBuilder cnDate = new StringBuilder();
for (int i = 0; i < year.length(); i++) {
cnDate.append(CN_NUMBER_NAME[Integer.valueOf(String.valueOf(year.charAt(i)))]);
}
cnDate.append("年");
cnDate.append(transformMonAndDay(month));
cnDate.append("月");
cnDate.append(transformMonAndDay(day));
cnDate.append("日");
return cnDate.toString();
}
private String transformMonAndDay(String time) {
StringBuilder sb = new StringBuilder();
if (time.length() == 2) {
Integer value = Integer.valueOf(String.valueOf(time.charAt(0)));
if (!value.equals(1)) {
sb.append(CN_NUMBER_NAME[value]);
}
sb.append("十");
if (!String.valueOf(time.charAt(1)).equals("0")) {
sb.append(CN_NUMBER_NAME[Integer.valueOf(String.valueOf(time.charAt(1)))]);
}
} else {
sb.append(CN_NUMBER_NAME[Integer.valueOf(String.valueOf(time.charAt(0)))]);
}
return sb.toString();
}
}