JS获取月份最后天数、最大天数与某日周数的方法


Posted in Javascript onDecember 08, 2015

本文实例讲述了JS获取月份最后天数、最大天数与某日周数的方法。分享给大家供大家参考,具体如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>标题页</title>
<script language="javascript">
function getLastDay(year,month)
{
 var new_year = year;  //取当前的年份
 var new_month = month++;//取下一个月的第一天,方便计算(最后一天不固定)
 if(month>12)      //如果当前大于12月,则年份转到下一年
 {
 new_month -=12;    //月份减
 new_year++;      //年份增
 }
 var newnew_date = new Date(new_year,new_month,1);//取当年当月中的第一天
 return (new Date(new_date.getTime()-1000*60*60*24)).getDate();//获取当月最后一天日期
}
</script>
<body>
  <input id="Button1" type="button" value="取2007年5月的最后一天" onClick="alert(getLastDay(2007,5))" />
</body>
</html>

js得到一个月最大天数
 
JS里 面的new Date("xxxx/xx/xx")这个日期的构造方法有一个妙处,
当你传入的是"xxxx/xx/0"(0号)的话,得到的日期是"xx"月的前一个 月的最后一天("xx"月的最大取值是69,题外话),
当你传入的是"xxxx/xx/1"(1号)的话,得到的日期是"xx"月的后一个 月的第一天(自己理解)
如果传入"1999/13/0",会得到"1998/12/31"。而且最大的好处是当你传入"xxxx/3/0",会得到xxxx年2月的最后一天,它会自动判断当年是否是闰年来返回28或29,不用自己判断,
所以,我们想得到选择年选择月有多少天的话,只需要

var temp=new Date("选择年/选择月+1/0");
return temp.getDate()//最大天数

校验的话,也可以用这个方法。

下面是使用JS编写的获取某年某月有多少天的getDaysInMonth(year, month)方法:

function getDaysInMonth(year,month){
   month = parseInt(month,10)+1;
   var temp = new Date(year+"/"+month+"/0");
   return temp.getDate();
}

js 获取某年的某天是第几周

/**
 * 判断年份是否为润年
 *
 * @param {Number} year
 */
function isLeapYear(year) {
  return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
}
/**
 * 获取某一年份的某一月份的天数
 *
 * @param {Number} year
 * @param {Number} month
 */
function getMonthDays(year, month) {
  return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] || (isLeapYear(year) ? 29 : 28);
}
 /**
 * 获取某年的某天是第几周
 * @param {Number} y
 * @param {Number} m
 * @param {Number} d
 * @returns {Number}
 */
function getWeekNumber(y, m, d) {
  var now = new Date(y, m - 1, d),
    year = now.getFullYear(),
    month = now.getMonth(),
    days = now.getDate();
  //那一天是那一年中的第多少天
  for (var i = 0; i < month; i++) {
    days += getMonthDays(year, i);
  }
  //那一年第一天是星期几
  var yearFirstDay = new Date(year, 0, 1).getDay() || 7;
  var week = null;
  if (yearFirstDay == 1) {
    week = Math.ceil(days / yearFirstDay);
  } else {
    days -= (7 - yearFirstDay + 1);
    week = Math.ceil(days / 7) + 1;
  }
  return week;
}

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript实现百度地图鼠标滑动事件显示、隐藏
Apr 02 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
Apr 06 Javascript
javascript顺序加载图片的方法
Jul 18 Javascript
JavaScript中var关键字的使用详解
Aug 14 Javascript
JQuery 动态生成Table表格实例代码
Dec 02 Javascript
Node.js中process模块常用的属性和方法
Dec 13 Javascript
Bootstrap栅格系统简单实现代码
Mar 06 Javascript
微信小程序实战之自定义模态弹窗(8)
Apr 18 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
浅谈Ant Design Pro 菜单自定义 icon
Nov 17 Javascript
JavaScript实现跟随鼠标移动的盒子
Jan 28 Javascript
AngularJS Module方法详解
Dec 08 #Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
Dec 08 #Javascript
JS与jQ读取xml文件的方法
Dec 08 #Javascript
js实现select下拉框菜单
Dec 08 #Javascript
基于jQuery 实现bootstrapValidator下的全局验证
Dec 07 #Javascript
JavaScript的代码编写格式规范指南
Dec 07 #Javascript
JSON遍历方式实例总结
Dec 07 #Javascript
You might like
PHP MSSQL 存储过程的方法
2008/12/24 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
prototype与__proto__区别详细介绍
2017/01/09 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
寻找网站后台地址的python脚本
2014/09/01 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
Python 文件处理注意事项总结
2017/04/10 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
Python3处理HTTP请求的实例
2018/05/10 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
Django对models里的objects的使用详解
2019/08/17 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
python实现canny边缘检测
2020/09/14 Python
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
任课老师推荐信范文
2013/11/24 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
外贸专业求职信
2014/03/09 职场文书
空乘英文求职信
2014/04/13 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
django中websocket的具体使用
2022/01/22 Python