JavaScript数字日期转化为汉字日期格式

 1<script>   
 2/*   
 3功能:YYYY-MM-DD 数字日期转化为汉字   
 4例:1984-3-7 -> 一九八四年三月七日   
 5调用:baodate2chinese("1984-3-7")   
 6*/    
 7var chinese = ['零','一','二','三','四','五','六','七','八','九'];   
 8var len = ['十'];   
 9var ydm =['年','月','日'];   
10function num2chinese(s)   
11{   
12//将单个数字转成中文.    
13s=""+s;   
14slen = s.length;   
15var result="";   
16for(var i=0;i<slen;i++)   
17{   
18result+=chinese[s.charAt(i)];   
19}   
20return result;   
21}   
22  
23function n2c(s)   
24{   
25//对特殊情况进行处理.    
26s=""+s;   
27var result="";   
28if(s.length==2)   
29{   
30if(s.charAt(0)=="1")   
31{   
32if(s.charAt(1)=="0")return len[0];   
33return len[0]+chinese[s.charAt(1)];   
34}   
35if(s.charAt(1)=="0")return chinese[s.charAt(0)]+len[0];   
36return chinese[s.charAt(0)]+len[0]+chinese[s.charAt(1)];   
37}   
38return num2chinese(s)   
39}   
40function baodate2chinese(s)   
41{   
42//验证输入的日期格式.并提取相关数字.    
43var datePat = /^(\d{2}|\d{4})(\/|-)(\d{1,2})(\2)(\d{1,2})$/;   
44var matchArray = s.match(datePat);   
45var ok="";   
46if (matchArray == null) return false;   
47for(var i=1;i<matchArray.length;i=i+2)   
48{   
49ok+=n2c(matchArray[i]-0)+ydm[(i-1)/2];   
50}   
51return ok;   
52}   
53</script>

YYYY-MM-DD:

1<input name="mydate" type="text" value="1984-3-7"/>

中文显示:

1<input name="okdate" type="text"/>
1<input onclick="document.all.okdate.value=baodate2chinese(document.all.mydate.value)" type="button" value="转换"/>
Published At
Categories with Web编程
comments powered by Disqus