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 常见对象类创建代码与优缺点分析
Dec 07 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
Feb 11 Javascript
jQuery中setTimeout的几种使用方法小结
Apr 07 Javascript
js实现按一下删除键删除整个单词附demo
Sep 05 Javascript
jQuery中:file选择器用法实例
Jan 04 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
Apr 16 Javascript
AngularJS手动表单验证
Feb 01 Javascript
angular2倒计时组件使用详解
Jan 12 Javascript
浅谈Vue 数据响应式原理
May 07 Javascript
koa上传excel文件并解析的实现方法
Aug 09 Javascript
jQuery选择器之基本选择器用法实例分析
Feb 19 jQuery
浅谈Three.js截图并下载的大坑
Nov 01 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模拟HTTP认证
2006/10/09 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
PHP小程序支付功能完整版【基于thinkPHP】
2019/03/26 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
认识less和webstrom的less配置方法
2017/08/02 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
2018/11/15 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
在python中求分布函数相关的包实例
2020/04/15 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
教师教育教学随笔
2015/08/15 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
go语言基础 seek光标位置os包的使用
2021/05/09 Golang