1 将2009-03-01 转换为二〇〇九年三月一日
直接html代码:
<html>
<head>
<title>Date Change</title>
<script language="javascript">
//日期转换函数 如2009-03-01 转换为二〇〇九年三月一号
function changeDate(targetId) {
//根据传递的控件ID从页面取值
var targetObj = document.getElementById(targetId);
var targetVal = targetObj.value;
//字符串分割 yyyy-MM-dd分割成数组
var targetArr = targetVal.split("-");
var rltYear="", rltMonth="", rltDate="";
//取得实际的年 月 日
var tmpYear=targetArr[0], tmpMonth=targetArr[1], tmpDate=targetArr[2];
//设置中文和数字对应关系
var b = ["〇", "一", "二", "三", "四", "五", "六", "七", "八", "九"];
//处理年,直接循环兑换即可
for(var i=0; i<tmpYear.length; i++) {
var t = tmpYear.substr(i,1);
rltYear += b[parseInt(t)];
}
//处理月,0×月去掉前面的0 / 1×则变为“十×”
for(var j=0; j<tmpMonth.length; j++) {
var t = tmpMonth.substr(j,1);
if(j==0) {
if(t!="0") rltMonth += "十";
continue;
}
if(j==1 && t=="0") continue;
rltMonth += b[parseInt(t)];
}
//处理日,小于10去掉前面的0 / 大于10小于20变为“十×” / 大于20全部显示
for(var k=0; k<tmpDate.length; k++) {
var t = tmpDate.substr(k,1);
if(k==0) {
if(parseInt(t)>1) {rltDate += b[parseInt(t)]; rltDate += "十";}
if(t=="1") rltDate += "十";
continue;
}
if(k==1 && t=="0") continue;
rltDate += b[parseInt(t)];
}
var rltStr = rltYear + "年" + rltMonth + "月" + rltDate + "日";
document.getElementById("display").innerHTML = rltStr;
}
</script>
</head>
<body>
<input type="text" name="Date" id="date" value="">
<input type="button" name="B1" value="进行日期转换" onclick="changeDate('date');"><br>
<div id="display" style="width:300px; height:100px; display:block; border:1px solid gray; padding:10px; text-align:center;">
</div>
</body>
</html>
注:
只对大于1K年以上的年有效,否则显示〇〇〇×年
运行效果