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 相关文章推荐
JavaScript 学习笔记(十一)
Jan 19 Javascript
学习javascript,实现插入排序实现代码
Jul 31 Javascript
jQuery Animation实现CSS3动画示例介绍
Aug 14 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
Mar 27 Javascript
基于jQuery实现文本框缩放以及上下移动功能
Nov 24 Javascript
jQuery链使用指南
Jan 20 Javascript
Java中Timer的用法详解
Oct 21 Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
Apr 13 Javascript
Bootstrap模态框插入视频的实现代码
Jun 25 Javascript
js捆绑TypeScript声明文件的方法教程
Apr 13 Javascript
微信小程序CSS3动画下拉菜单效果
Nov 04 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可变函数的经典用法
2013/06/20 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
python装饰器初探(推荐)
2016/07/21 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
大学奖学金获奖感言
2014/08/15 职场文书
2014年勤工助学工作总结
2014/11/24 职场文书
高考升学宴答谢词
2015/01/20 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
防暑降温通知书
2015/04/27 职场文书
观看建国大业观后感
2015/06/01 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
六年级情感作文之500字
2019/10/23 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python