获取本地时间,然后转化为中文,用setInterval计时器来控制时间刷新间隔。
效果是:中文时间随着本地时间的变化而变化。
<div id="div0"></div>
<script>
var arr=["零","一","二","三","四","五","六","七","八","九"]; //转化为中文所用到的中文元素
init();
function init(){
var div=document.getElementById("div0");
setInterval(animation,500,div);
//setInterval的第三个参数(可选),是传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。
}
function animation(elem){
var date=new Date();
var time="";
time+=getYearCN(date.getFullYear());
time+=getCNNumber(date.getMonth()+1)+"月";
time+=getCNNumber(date.getDate())+"日 ";
time+="星期"+(date.getDay()===0 ? "日" : getCNNumber(date.getDay()))+" ";
time+=getCNNumber(date.getHours())+"点";
time+=getCNNumber(date.getMinutes(),true)+"分";
time+=date.getSeconds()===0 ? "" : getCNNumber(date.getSeconds(),true)+"秒";
elem.innerHTML=time;
}
function getYearCN(year){
var y="";
year=String(year);
for(var i=0;i<year.length;i++){
y+=arr[year[i]];
}
return "公元"+y+"年";
}
function getCNNumber(n,bool){
if(n<0 || n>1000) return "错误的消息";
if(n<10) return bool ? "零"+arr[n] : arr[n];
if(n===10) return "十";
if(n<20) return "十"+arr[String(n)[1]];
if(n>=100 && n%100===0) return arr[String(n)[0]]+"百";
if(n>100 && n%10===0) return arr[String(n)[0]]+"百"+arr[String(n)[1]]+"十";
if(n%10===0) return arr[String(n)[0]]+"十";
if(n<100) return arr[String(n)[0]]+"十"+arr[String(n)[1]];
if(n%100<10) return arr[String(n)[0]]+"百零"+arr[String(n)[2]];
return arr[String(n)[0]]+"百"+arr[String(n)[1]]+"十"+arr[String(n)[2]];
}
</script>
通过效果截图能够验证,中文时间随着本地时间的变化而变化。