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 相关文章推荐
asp批量修改记录的代码
Jun 25 Javascript
jQuery 源码分析笔记(5) jQuery.support
Jun 19 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
Jul 10 Javascript
不同Jquery版本引发的问题解决
Oct 14 Javascript
JavaScript 学习笔记之基础中的基础
Jan 13 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
jQuery向父辈遍历的简单方法
Sep 18 Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 Javascript
Chrome调试折腾记之JS断点调试技巧
Sep 11 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
May 21 Javascript
基于JS实现带动画效果的流程进度条
Jun 01 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&&mysql)二
2006/10/09 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
php单例模式示例分享
2015/02/12 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
php实现URL加密解密的方法
2016/11/17 PHP
PDO实现学生管理系统
2020/03/21 PHP
javascript删除字符串最后一个字符
2014/01/14 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
学习python的前途 python挣钱
2019/02/27 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
详解python变量与数据类型
2020/08/25 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
大专自我鉴定范文
2013/10/23 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
辞职信标准格式
2015/02/27 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
初婚初育证明范本
2015/06/18 职场文书