你的位置:首页 > Java教程

[Java教程]js如何获取指定月份的天数


js如何获取指定月份的天数:
有时候需要获取指定年中某一月的天数,因为每隔月的天数是有所不同的,并且不同年份同一个月的天数也有所不同,例如2月份,在闰年和平年的时候天数就是不同的,下面就介绍一个简单的方法来获取某一年中指定月份的天数。
代码如下:

 

function getDadys(whichYear,whichMonth){ var nextMoth=whichMonth+1 var nextYear=whichYear; if(nextMoth==13) {  nextMoth=1;  nextYear++; } var theCurrentDate=whichYear+"-"+whichMonth+"-1"; var theNextDate=nextYear+"-"+nextMoth+"-1"; var yearObjOne=new Date(theCurrentDate); var yearObjTwo=new Date(theNextDate);   var milliseconds=yearObjTwo.getTime()-yearObjOne.getTime() var daymilliseconds=3600*24*1000; return (milliseconds/daymilliseconds);}document.write(getDadys(2012,2));

 

以上代码可以计算出指定年份中某一月的天数。输出结果是29。下面介绍一下实现过程:
一.实现原理:
原理很简单就是获取下一个月份之初和要获得天数的月份之初的时间戳差距,这样就是要获取天数月份所拥有的毫秒数,再用这个毫秒数除以每天拥有的毫秒数,这样就会获得月份的天数了。
二.代码注释:
1.function getDadys(whichYear,whichMonth){},声明一个函数用来获取月份的天数,具有两个参数,第一个参数是要获取月份的年,第二个参数要获取天数的月份。
2.var nextMoth=whichMonth+1,下一个月份。
3.if(nextMoth==13) 判断nextMoth的值是否等于12。
4.nextMoth=1,超过12那么就是从下一年的1月份开始了。
5.whichYear++,当然年份也要加1。
6.var theCurrentDate=whichYear+"-"+whichMonth+"-1",连接字符串,使之成为2012-2-1这种形式。
7.var theNextDate=nextYear+"-"+nextMoth+"-1",和上面同一个道理。
8.var yearObjOne=new Date(theCurrentDate),创建时间对象。
9.var milliseconds=yearObjTwo.getTime()-yearObjOne.getTime(),求出两个月份之间的毫秒差。
10.var daymilliseconds=3600*24*1000,获取一天的毫秒数。
11.return (milliseconds/daymilliseconds),返回天数,总毫秒数除以一天的毫秒数就是天数。
三.相关阅读:
1.Date可以参阅javascript中Date()构造函数参数介绍一章节。
2.getTime()函数可以参阅javaScript的Date对象的getTime()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=8924

更多内容可以参阅:http://www.softwhy.com/javascript/