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 相关文章推荐
js 禁用浏览器的后退功能的简单方法
Dec 10 Javascript
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
Mar 31 Javascript
javascript dom代码应用 简单的相册[firefox only]
Jun 12 Javascript
js操作滚动条事件实例
Jan 29 Javascript
JavaScript中诡异的delete操作符
Mar 12 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
Oct 24 Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 Javascript
jQuery实现联动下拉列表查询框
Jan 04 Javascript
node学习记录之搭建web服务器教程
Feb 16 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
JS实现移动端触屏拖拽功能
Jul 31 Javascript
JavaScript静态作用域和动态作用域实例详解
Jun 17 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
jQuery live
2009/05/15 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
2012/12/07 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
详解如何使用Python编写vim插件
2017/11/28 Python
深入理解Python异常处理的哲学
2019/02/01 Python
Python之时间和日期使用小结
2019/02/14 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
2020/03/10 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
HTML5样式控制示例代码
2013/11/27 HTML / CSS
保送生自荐信范文
2013/10/06 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
十佳少年事迹材料
2014/12/25 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
深入理解python协程
2021/06/15 Python
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python