JS获取指定月份的天数两种实现方法
最近看到一个有意思的试题,正好在需求中也碰到类似的问题,即计算某个月的天数问题。碰到类似问题也许大部分会想是不是还要判断闰年、平年,如果这样想的话就复杂了,下面给出具体的计算方法。
获取月份天数方法一:
//传入年份和月份 获取该年对应月份的天数 function getMonthDays(year,month){ var thisDate = new Date(year,month,0); //当天数为0 js自动处理为上一月的最后一天 return thisDate.getDate(); }
上面应该时获取月份天数最简单的方法之一了,当Date中参数超出范围时js会自动处理,如果传值小于等于0,则日期将会向前推,否则日期将会向后推。下面时MDN原文,也提到了此现象:
Note: 当Date作为构造函数调用并传入多个参数时,如果数值大于合理范围时(如月份为13或者分钟数为70),相邻的数值会被调整。比如 new Date(2013, 13, 1)等于new Date(2014, 1, 1),它们都表示日期2014-02-01(注意月份是从0开始的)。其他数值也是类似,new Date(2013, 2, 1, 0, 70)等于new Date(2013, 2, 1, 1, 10),都表示时间2013-03-01T01:10:00。
下面给出几个例子供参考:
1.参数传入负数
2.传入大于规定范围的值
以上可看出,js本身对日期处理还是比较好的,同时开发人员也可以利用这一点获取想要的结果。
获取月份天数方法一:
下面就是比较正常的获取方式了,代码:
//根据两个月份同一天的差值获取,同样是传入需要获取的对应年份和月份 function getMonthDays(year,month){ var stratDate = new Date(year,month-1,1), endData = new Date(year,month,1); var days = (endData -stratDate)/(1000*60*60*24); return days; }
第二种方式则是根据所求月份和下一个月份某一天的差值获取对应月份的天数。
总结
以上所述是小编给大家介绍的JS获取指定月份的天数两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
利用CSS、JavaScript及Ajax实现图片预加载的方法
预加载图片是提高用户体验的一个很好方法,实现图片预加载可以使用css、JavaScript、Ajax三种方法。下面逐一给大家介绍利用CSS、JavaScript及Ajax实现图片预加载的方法,需要的朋友参考下吧2016-11-11JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
这篇文章主要介绍了JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系的相关资料,需要的朋友可以参考下2015-11-11在layer弹层layer.prompt中,修改placeholder的实现方法
今天小编大家分享一篇在layer弹层layer.prompt中,修改placeholder的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-09-09
最新评论