JavaScript时间日期转中文显示与测试代码运行效率案例
案例:计算i从0到1000000再到6000000的时间
var time = new Date().getTime();
var timeList = [];
timeStart();
function timeStart() {
timeList.length = 0;
timeList[0] = new Date().getTime();
}
var sum = 0;
for (var i = 0; i < 1000000; i++) {
sum += i;
}
showTime();
function showTime() {
if (timeList.length === 0) return 0;
timeList.push(new Date().getTime());
console.log(
timeList[timeList.length - 1] - timeList[timeList.length - 2]
);
return timeList[timeList.length - 1] - timeList[timeList.length - 2];
}
var sum = 0;
for (var i = 0; i < 6000000; i++) {
sum += i;
}
showTime();
showStart();
function showStart() {
if (timeList.length === 0) return 0;
timeList.push(new Date().getTime());
console.log(timeList[timeList.length - 1] - timeList[0]);
return timeList[timeList.length - 1] - timeList[0];
}
案例:中文日期时间
方法一:
<div id="div1"></div>
<script>
var div1;
var cnNumber=["零","一","二","三","四","五","六","七","八","九"]
init();
function init(){
div1=document.getElementById("div1");
setInterval(animation,16);
}
function animation(){
div1.innerHTML=getDateCN();
}
function getDateCN(){
var date=new Date();
var year=getCnYear(date.getFullYear());
var month=getCnNumber(date.getMonth()+1);
var day=getCnNumber(date.getDate());
var week=date.getDay();
var hour=getCnNumber(date.getHours());
var minutes=getCnNumber(date.getMinutes(),true);
var seconds=getCnNumber(date.getSeconds(),true);
week=week===0 ? "星期日" : "星期"+cnNumber[week];
return year+"年"+month+"月"+day+"日 "+week+" "+hour+"点"+minutes+"分"+seconds+"秒";
}
function getCnYear(year){
return year.toString().split("").reduce(function(value,item){
return value+cnNumber[item];
},"")
}
function getCnNumber(num,bool){
if(num===0) return cnNumber[num];
if(num<10) return bool ? "零"+cnNumber[num] : cnNumber[num];
if(num===10) return "十";
if(num%10===0) return cnNumber[num/10]+"十";
if(num<20) return "十"+cnNumber[num%10];
num=num.toString();
if(num<100) return cnNumber[num[0]]+"十"+cnNumber[num[1]];
return "错误的数字"
}
</script>
方法二:
<div id="div1"></div>
<script>
var arr = ["零","一","二","三","四","五","六","七","八","九","十",];
var ids;
var div;
init();
function init() {
var div1 = document.getElementById("div1");
ids = setInterval(localTime, 16);
}
function localTime() {
//获取当前时间
var date = new Date();
//设置time为空字符串,之后用+=将年月日连接放入
var time = "";
// 先写好年月日阿拉伯数字下的框架,在进行全汉字转换
// time += date.getFullYear() + "年";
// time += date.getMonth() + 1 + "月";
// time += date.getDate() + "日";
// time += "星期" + date.getDay();
// time += date.getHours() + "时";
// time += date.getMinutes() + "分";
// time += date.getSeconds() + "秒";
time += years(date.getFullYear()) + "年 ";
time += saiban(date.getMonth() + 1) + "月 ";
time += saiban(date.getDate()) + "日 ";
time += "星期" + saiban(date.getDay()) + " ";
time += saiban(date.getHours()) + "时";
time += saiban(date.getMinutes()) + "分";
time += saiban(date.getSeconds()) + "秒";
console.log(time);
div1.innerHTML = time;
}
//转换年为汉字
function years(year) {
//设置y为空字符串用来盛放最后的结果
var a = ""; //undefined
//将获取的年份转换成字符型
year = String(year); //2020
//利用循环,当i<字符串长度时循环,将year的每一项转换为上边数组中的汉字
for (var i = 0; i < year.length; i++) {
a += arr[year[i]];
} //二零二零
//将结果返回
return "公元" + a; //公元二零二零
}
// 以下为月、日的汉字转换,因为转换方式相同,化作一个函数就可以
// //转换月为汉字
// function months(month){
// var b="";
// console.log(month)
// if(month<10){
// b=arr[month]
// }
// if(month==10){
// b=arr[10]
// }
// if(month>10){
// if(month%10==0){
// b=arr[parseInt(month/10)]+arr[10]
// }
// }
// return b;
// }
// //转换日为汉字
// function days(day){
// var c="";
// console.log(day)
// if(day<10){
// c=arr[day]
// }
// if(day==10){
// c=arr[10]
// }
// if(day>10){
// if(day%10==0){
// c=arr[parseInt(day/10)]+arr[10]
// }
// else c = arr[parseInt(m / 10)] + arr[10] + arr[m % 10];
// }
// return c
// }
//年月转化化为函数saiban
function saiban(m) {
var c = "";
if (m < 10) {
c = arr[m];
}
if (m == 10) {
c = arr[10];
}
if (m > 10 && m < 20) {
if (parseInt(m / 10) == 1) {
c = arr[10] + arr[m % 10];
}
if (m % 10 == 0) {
c = arr[parseInt(m / 10)] + arr[10];
}
}
if (m > 19) {
if (m % 10 == 0) {
c = arr[parseInt(m / 10)] + arr[10];
} else c = arr[parseInt(m / 10)] + arr[10] + arr[m % 10];
}
return c;
}
</script>