java把日期转换为中文日期的类

  java把日期转换为中文日期的类,如果想转换为大写中文在方法numToUpper中写好了,把注释的代码解开就可以了,代码可以直接使用的哦。




  1. package org.houyong.test.util;


  2. import java.util.Calendar;
  3. import java.util.Date;






  4. public class DateUtils {
  5. // 日期转化为大小写
  6. public static String dataToUpper(Date date) {
  7. Calendar ca = Calendar.getInstance();
  8. ca.setTime(date);
  9. int year = ca.get(Calendar.YEAR);
  10. int month = ca.get(Calendar.MONTH) + 1;
  11. int day = ca.get(Calendar.DAY_OF_MONTH);
  12. return numToUpper(year) + "年" + monthToUppder(month) + "月" + dayToUppder(day) + "日";
  13. }


  14. /***
  15. * <b>function:</b> 将数字转化为大写
  16. * @createDate 2010-5-27 上午10:28:12
  17. * @param num 数字
  18. * @return 转换后的大写数字
  19. */
  20. public static String numToUpper(int num) {

  21. String u[] = {"○", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
  22. //String u[] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
  23. // String u[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
  24. char[] str = String.valueOf(num).toCharArray();
  25. String rstr = "";
  26. for (int i = 0; i < str.length; i++) {
  27. rstr = rstr + u[Integer.parseInt(str[i] + "")];
  28. }
  29. return rstr;
  30. }


  31. /***
  32. * <b>function:</b> 月转化为大写
  33. * @createDate 2010-5-27 上午10:41:42
  34. * @param month 月份
  35. * @return 返回转换后大写月份
  36. */
  37. public static String monthToUppder(int month) {
  38. if (month < 10) {
  39. return numToUpper(month);
  40. } else if (month == 10) {
  41. return "十";
  42. } else {
  43. return "十" + numToUpper(month - 10);
  44. }
  45. }


  46. /***
  47. * <b>function:</b> 日转化为大写
  48. * @createDate 2010-5-27 上午10:43:32
  49. * @param day 日期
  50. * @return 转换大写的日期格式
  51. */
  52. public static String dayToUppder(int day) {
  53. if (day < 20) {
  54. return monthToUppder(day);
  55. } else {
  56. char[] str = String.valueOf(day).toCharArray();
  57. if (str[1] == '0') {
  58. return numToUpper(Integer.parseInt(str[0] + "")) + "十";
  59. } else {
  60. return numToUpper(Integer.parseInt(str[0] + "")) + "十" + numToUpper(Integer.parseInt(str[1] + ""));
  61. }
  62. }
  63. }
  64. public static void main(String[] args) {
  65. System.out.println(DateUtils.dataToUpper(new Date()));
  66. }
  67. }
复制代码

(文章来源:http://www.mfqyw.com/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中可以使用数字转换中文大写的方法来实现将日期转换中文大写的功能。具体实现方法如下: 1. 首先,引入需要使用的工具和包。 ```java import java.util.Calendar; import java.util.Date; import java.text.SimpleDateFormat; ``` 2. 然后,获取当前日期转换中文大写。 ```java // 获取当前日期 Date date = new Date(); // 将日期转换中文大写 String dateStr = DateToCN(date); ``` 3. 编写将日期转换中文大写的方法。 ```java public static String DateToCN(Date date) { // 实例化Calendar对象 Calendar cal = Calendar.getInstance(); // 将日期赋值给Calendar对象 cal.setTime(date); // 获取年份 int year = cal.get(Calendar.YEAR); // 获取月份 int month = cal.get(Calendar.MONTH) + 1; // 获取日 int day = cal.get(Calendar.DAY_OF_MONTH); // 将年份转换中文大写 String yearStr = NumberToCN(year); // 将月份转换中文大写 String monthStr = NumberToCN(month); // 将日转换中文大写 String dayStr = NumberToCN(day); // 拼接日期字符串 String dateStr = yearStr + "年" + monthStr + "月" + dayStr + "日"; return dateStr; } // 将数字转换中文大写 public static String NumberToCN(int number) { // 定义中文数字数组 String[] cnNumbers = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"}; // 定义中文数字单位数组 String[] cnUnits = {"", "十", "百", "千", "万", "十", "百", "千", "亿"}; // 将数字转换成字符串 String numberStr = String.valueOf(number); // 定义结果字符串 String result = ""; // 记录是否需要添加“零” boolean needZero = false; // 循环处理数字每一位 for (int i = 0; i < numberStr.length(); i++) { // 获取当前位的数字 int n = numberStr.charAt(i) - '0'; // 获取当前位的中文单位 String unit = cnUnits[(numberStr.length() - 1) - i]; // 判断当前位是否为0 if (n == 0) { // 如果当前位为0,并且前一位不为0,则需要添加“零” if (needZero) { result += cnNumbers[0]; needZero = false; } } else { // 如果当前位不为0,则需要添加当前位的中文数字和中文单位 result += cnNumbers[n] + unit; needZero = true; } } // 如果结果字符串以“十”结尾,则需要添加一个“零” if (result.endsWith("十")) { result += cnNumbers[0]; } return result; } ``` 这样就可以将日期转换中文大写了。例如,对于当前日期转换后的字符串为“二零二二年一月二十五日”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值