还在计算平年闰年么??分享根据指定的月份获取该月有多少天的函数。

 1     /* 
 2      * 名称:根据指定的月份获取该月有多少天
 3      * 调用:getDaysCountByMonth(2013,5)
 4      * 重载:getDaysCountByMonth('2013-05-22')
 5      *       getDaysCountByMonth('2013-05')
 6      *       getDaysCountByMonth('22/05/2013')
 7      *       getDaysCountByMonth('05/2013')
 8      */
 9     function getDaysCountByMonth(year, month) {
10         //方法重载判断
11         if(typeof(year)!='number' && month==undefined){
12             //提取字符串中的年、月
13             var temp=year;
14             var reg=/^\d{3,}|\d{3,}$/ig;
15             year=reg.exec(temp);
16             temp=temp.replace(/^\d{3,}\-|\/\d{3,}$/ig,'');
17             reg=/^\d+(?=\-)|\d+$/ig;
18             month=reg.exec(temp);
19         }
20         //创建一个新日期对象
21         var newDate = new Date(year,month);
22         //将日期设置为0,系统会自动转换为当月最大的日期
23         newDate.setDate(0);
24         //返回该月的最大日期(即该月的总天数)
25         return newDate.getDate();
26     }
27 
28     
29     //测试
30     alert(getDaysCountByMonth(2013,2));         //输出:28
31     alert(getDaysCountByMonth('2013-02-22'));   //输出:28
32     alert(getDaysCountByMonth('2013-02'));      //输出:28
33     alert(getDaysCountByMonth('02/2013'));      //输出:28
34     alert(getDaysCountByMonth('22/02/2013'));   //输出:28

 

 

posted @ 2013-05-22 13:31  前端小屋  阅读(318)  评论(0编辑  收藏  举报