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 相关文章推荐
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
Jan 12 Javascript
javascript 学习笔记(八)javascript对象
Apr 12 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
Jan 20 Javascript
jQuery实现异步获取json数据的2种方式
Aug 29 Javascript
jQuery内部原理和实现方式浅析
Feb 03 Javascript
在Node.js应用中使用Redis的方法简介
Jun 24 Javascript
AngularJS入门教程之AngularJS指令
Apr 18 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
Jan 04 Javascript
laydate只显示时分 不显示秒的功能实现方法
Sep 28 Javascript
JavaScript中变量提升和函数提升的详解
Aug 07 Javascript
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
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
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
php遍历数组的方法分享
2012/03/22 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
Git命令之分支详解
2021/03/02 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
JS去除字符串中空格的方法
2017/02/14 Javascript
js实现随机点名小功能
2017/08/17 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
发布你的Python模块详解
2016/09/15 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
python实现各种插值法(数值分析)
2019/07/30 Python
python修改字典键(key)的方法
2019/08/05 Python
如何在Python对Excel进行读取
2020/06/04 Python
什么是python的函数体
2020/06/19 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
数据员岗位职责
2013/11/19 职场文书
办公室前台的岗位职责
2013/12/20 职场文书
文明宿舍获奖感言
2014/02/07 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
项目建议书
2015/02/04 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
pytorch实现ResNet结构的实例代码
2021/05/17 Python
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android