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 相关文章推荐
jQuery 连续列表实现代码
Dec 21 Javascript
js触发onchange事件的方法说明
Mar 08 Javascript
JavaScript通过字符串调用函数的实现方法
Mar 18 Javascript
jquery使用animate方法实现控制元素移动
Mar 27 Javascript
浅谈javascript的分号的使用
May 12 Javascript
JS实现生成会变大变小的圆环实例
Aug 05 Javascript
jQuery实现动画效果circle实例
Aug 06 Javascript
vue better-scroll插件使用详解
Jan 25 Javascript
jQuery UI实现动画效果代码分享
Aug 19 jQuery
layui表格数据复选框回显设置方法
Sep 13 Javascript
vue 实现购物车总价计算
Nov 06 Javascript
javascript canvas时钟模拟器
Jul 13 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
239军机修复记
2021/03/02 无线电
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
写出高质量的PHP程序
2012/02/04 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
jquery文字填写自动高度的实现方法
2016/11/07 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
js实现随机抽奖
2020/03/19 Javascript
Python实现的读写json文件功能示例
2018/06/05 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
详解python数据结构和算法
2019/04/18 Python
Python 求向量的余弦值操作
2021/03/04 Python
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
最新党员思想汇报
2014/01/01 职场文书
董事长助理岗位职责
2014/02/18 职场文书
法人代表委托书
2014/04/04 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
三孔导游词
2015/02/05 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
详解Python requests模块
2021/06/21 Python