JS中设置一个函数能将日期转换为中文大写的数字(壹,贰,叁...)

思路先建立函数再将日期中的年月日时分秒通过getXxxxx提出

function formatChineseDate(date){
  var year = date.getFullYear() + "";
  var month = date.getMonth() + 1; // 由于月份的范围是0~11,所以这里提出的月份需要+1
  var day = date.getDate();
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var seconds = date.getSeconds();

在formatChineseDate函数中建立一个函数constant以用来转换阿拉伯数字到大写中文数字,再判断。由于年份中不需要拾佰仟这种单位,则另外判断,这里只能判断 月,日,时,分,秒倘若它是个位数则直接返还结果,倘若他是整数数则返还 数字/10+“拾”。倘若他是其他二位数,则建立两个变量,一个是number的个位数,一个是number的十位数,最终结果返还 十位数 + “拾” + 个位数。

  function constant(number) {
    var arr = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
    if (number < 10) {
    return arr[number];
    } else if (number % 10 === 0) {
    return arr[number / 10] + "拾";
    } else {
    var ge = number % 10;
    var shi = parseInt(number / 10);
    return arr[shi] + "拾" + arr[ge];
    }
  }

现在可以转换年份了,创建字符串yearStr,通过循环和constant函数一位一位得到年份的中文大写数字。然后通过调用constant直接可以转换月到秒

  var yearStr = "";
  for (i = 0; i < year.length; i++) {
  yearStr += constant(year[i])
  }

  var monthStr = constant(month);
  var dayStr = constant(day);
  var hoursStr = constant(hours);
  var minutesStr = constant(minutes);
  var secondsStr = constant(seconds);

  console.log("现在是" + yearStr + "年" + monthStr + "月" + dayStr + "日 " + hoursStr + "时" + minutesStr + "分" + secondsStr + "秒");
}

formatChineseDate(new Date())

转载于:https://www.cnblogs.com/mizuno0237/p/11426173.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值