回答赚c币看这里:javascript中实现日期转中文的星期几,还有数字转中文大写
请问中文这个怎么实现呢?用循环可以么?还是用数组?
new Date().getDay()得到星期几,注意星期日是0,其他就好整了
var str = "星期"+"日一二三四五六".charAt(new Date().getDay());
function NoToChinese(num) {
if (!/^\d*(\.\d*)?$/.test(num)) {
alert("Number is wrong!");
return "Number is wrong!";
}
var AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
var BB = new Array("", "拾", "佰", "仟", "萬", "億", "点", "");
var a = ("" + num).replace(/(^0*)/g, "").split("."),
k = 0,
re = "";
for (var i = a[0].length - 1; i >= 0; i--) {
switch (k) {
case 0:
re = BB[7] + re;
break;
case 4:
if (!new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0]))
re = BB[4] + re;
break;
case 8:
re = BB[5] + re;
BB[7] = BB[5];
k = 0;
break;
}
if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re;
if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re;
k++;
}
if (a.length > 1) //加上小数部分(如果有小数部分)
{
re += BB[6];
for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];
}
return re;
}
const numberToCN = ['〇','一','二','三','四','五','六','七','八','九','十',
'十一','十二','十三','十四','十五','十六','十七','十八','十九',
'二十','二十一','二十二','二十三','二十四','二十五','二十六','二十七',
'二十八','二十九','三十','三十一','三十二','三十三','三十四','三十五',
'三十六','三十七','三十八','三十九','四十','四十一','四十二','四十三','四十四','四十五','四十六',
'四十七','四十八','四十九','五十','五十一','五十二','五十三','五十四','五十五','五十六',
'五十七','五十八','五十九'];//这样应该比较快,虽然看着代码多点
export function DateAndTimeTrans(datetime){
//2015-07-18 08:30
let result = "";
result += numberToCN[datetime[0]];
result += numberToCN[datetime[1]];
result += numberToCN[datetime[2]];
result += numberToCN[datetime[3]];
result += "年";
result += numberToCN[new Number(datetime.substr(5,2))];
result += "月"
result += numberToCN[new Number(datetime.substr(8,2))];
result += "日"
result += numberToCN[new Number(datetime.substr(11,2))];
result += "点";
let tmp = numberToCN[new Number(datetime.substr(14,2))];
result += tmp == "〇" ? "整" : tmp + "分";
return result;
}
var AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
var BB = new Array("", "拾", "佰", "仟", "萬", "億", "点", "");
var a = ("" + num).replace(/(^0*)/g, "").split("."),
k = 0,
re = "";
function numberyear(index)
{
var i;
var numberstring="零一二三四五六七八九";
text ="";
for(i =0; i <4; i++)
{
point=parseInt(index.toString().substring(i,i+1));
text = text + numberstring.substring(point,point+1);
}
return"公元"+text;
}
function number(index1)
{
var numberstring="一二三四五六七八九十";
if(index1 ==0)
{
document.write("十")}
if(index1 <10)
{
document.write(numberstring.substring(0+(index1-1),index1));
}
elseif(index1 <20)
{
document.write("十"+numberstring.substring(0+(index1-11),(index1-10)));
}
elseif(index1 <30)
{
document.write("二十"+numberstring.substring(0+(index1-21),(index1-20)));
}
else
{
document.write("三十"+numberstring.substring(0+(index1-31),(index1-30)));
}
}