JS获取指定月份的天数两种实现方法


Posted in Javascript onJune 22, 2018

最近看到一个有意思的试题,正好在需求中也碰到类似的问题,即计算某个月的天数问题。碰到类似问题也许大部分会想是不是还要判断闰年、平年,如果这样想的话就复杂了,下面给出具体的计算方法。

获取月份天数方法一:

//传入年份和月份 获取该年对应月份的天数
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.参数传入负数

JS获取指定月份的天数两种实现方法

2.传入大于规定范围的值

JS获取指定月份的天数两种实现方法

JS获取指定月份的天数两种实现方法

以上可看出,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获取指定月份的天数两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
关于firefox的ElementTraversal 接口 使用说明
Nov 11 Javascript
使用js操作css实现js改变背景图片示例
Mar 10 Javascript
用js格式化金额可设置保留的小数位数
May 09 Javascript
js简单判断flash是否加载完成的方法
Jun 21 Javascript
JS多文件上传的实例代码
Jan 11 Javascript
jquery代码规范让代码越来越好看
Feb 03 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
vue中计算属性(computed)、methods和watched之间的区别
Jul 27 Javascript
浅谈Vue父子组件和非父子组件传值问题
Aug 22 Javascript
Vue刷新修改页面中数据的方法
Sep 16 Javascript
node.js文件操作系统实例详解
Nov 05 Javascript
vue项目在webpack2实现移动端字体自适配功能
Jun 02 Javascript
vue实现点击当前标签高亮效果【推荐】
Jun 22 #Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 #Javascript
QQ跳转支付宝并自动领红包脚本(最新)
Jun 22 #Javascript
JavaScript 下载svg图片为png格式
Jun 21 #Javascript
MVVM 双向绑定的实现代码
Jun 21 #Javascript
在vue2.0中引用element-ui组件库的方法
Jun 21 #Javascript
vue树形结构获取键值的方法示例
Jun 21 #Javascript
You might like
PHP脚本的10个技巧(6)
2006/10/09 PHP
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
Js表格万条数据瞬间加载实现代码
2014/02/20 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
Python入门篇之条件、循环
2014/10/17 Python
全面理解Python中self的用法
2016/06/04 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
Python判断两个对象相等的原理
2017/12/12 Python
Python贪心算法实例小结
2018/04/22 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
Python实现点云投影到平面显示
2020/01/18 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
男方父母证婚词
2014/01/12 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
大学学生个人总结
2015/02/15 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
社区结对共建协议书
2016/03/23 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
sql server 累计求和实现代码
2022/02/28 SQL Server
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python