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 相关文章推荐
JS类中定义原型方法的两种实现的区别
Mar 08 Javascript
js/jQuery简单实现选项卡功能
Jan 02 Javascript
js实现二级菜单渐隐显示
Nov 03 Javascript
微信小程序自定义导航隐藏和显示功能
Jun 13 Javascript
jQuery扩展_动力节点Java学院整理
Jul 05 jQuery
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 Javascript
利用CDN加速react webpack打包后的文件详解
Feb 22 Javascript
基于layPage插件实现两种分页方式浅析
Jul 27 Javascript
vue路由教程之静态路由
Sep 03 Javascript
vue 实现强制类型转换 数字类型转为字符串
Nov 07 Javascript
解决vue自定义全局消息框组件问题
Nov 22 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 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
DSP接收机前端设想
2021/03/02 无线电
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
List Installed Software Features
2007/06/11 Javascript
用JavaScript调用WebService的示例
2008/04/07 Javascript
javascript+xml技术实现分页浏览
2008/07/27 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
详解Python绘图Turtle库
2019/10/12 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
python 贪心算法的实现
2020/09/18 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
大学生个人实习的自我评价
2014/02/15 职场文书
中学生操行评语
2014/04/24 职场文书
校庆口号
2014/06/20 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
学习nginx基础知识
2021/09/04 Servers