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下通过的XMLHttpRequest发送请求的代码
Jun 28 Javascript
jquery 列表双向选择器之改进版
Aug 09 Javascript
使用node.js半年来总结的 10 条经验
Aug 18 Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 Javascript
javascript常用函数(2)
Nov 05 Javascript
JavaScript实现通过select标签跳转网页的方法
Sep 29 Javascript
JS触摸事件、手势事件详解
May 04 Javascript
javaScript实现滚动条事件详解
Mar 24 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
May 16 Javascript
Vue.js添加组件操作示例
Jun 13 Javascript
详解Next.js页面渲染的优化方案
Jan 27 Javascript
简单了解vue 插值表达式Mustache
Jul 22 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分页类
2017/10/24 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
Python获取远程文件大小的函数代码分享
2014/05/13 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
2015/10/18 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
通过Pandas读取大文件的实例
2018/06/07 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
学习和使用python的13个理由
2019/07/30 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
python import 上级目录的导入
2020/11/03 Python
python中turtle库的简单使用教程
2020/11/11 Python
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
触摸春天教学反思
2014/02/03 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
2014年助理政工师工作总结
2014/12/19 职场文书
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js