最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
JS获取指定月份的天数两种实现方法
时间:2022-06-25 15:58:59 编辑:袖梨 来源:一聚教程网
最近看到一个有意思的试题,正好在需求中也碰到类似的问题,即计算某个月的天数问题。碰到类似问题也许大部分会想是不是还要判断闰年、平年,如果这样想的话就复杂了,下面给出具体的计算方法。
获取月份天数方法一:
//传入年份和月份 获取该年对应月份的天数
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;
}
第二种方式则是根据所求月份和下一个月份某一天的差值获取对应月份的天数。
相关文章
- 人形机器人,或许让物理 AI 走错了路讲了什么-主要信息和内容重点 08-25
- 冒险者指南 :宠物交易 赚取水晶无压力! 08-25
- 宠物速递:技能全面培养 打造你的专属宠物! 08-25
- 小米路由器ax9000呼吸灯怎么调(小米路由器ax9000呼吸灯调整方法) 08-25
- 宠物速递:升星、升级、特性选择指南 08-25
- MVP玩法攻略——龙蝇讨伐教学 08-25


