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 保存文件到本地实现方法
Nov 29 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
Feb 07 Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
Jan 26 Javascript
javascript基本数据类型和转换
Mar 17 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
Mar 29 Javascript
原生JS+Canvas实现五子棋游戏实例
Jun 19 Javascript
详解为Bootstrap Modal添加拖拽的方法
Jan 05 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
Oct 27 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
基于JavaScript实现随机点名器
Feb 25 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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
nginx 设置多个站跨域
2021/03/09 Servers
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
javascript异常处理实现原理详解
2020/02/17 Javascript
Python最基本的输入输出详解
2015/04/25 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
Ajax请求总共有多少种Callback
2016/07/17 面试题
军训鉴定表自我鉴定
2014/02/13 职场文书
李培根演讲稿
2014/05/22 职场文书
党代会心得体会
2014/09/04 职场文书
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
中学生自我评价2015
2015/03/03 职场文书
2015年营业员工作总结
2015/04/23 职场文书
python 管理系统实现mysql交互的示例代码
2021/12/06 Python
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers