思路先建立函数再将日期中的年月日时分秒通过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())
JS中设置一个函数能将日期转换为中文大写的数字(壹,贰,叁...)
原文:https://www.cnblogs.com/mizuno0237/p/11426173.html