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

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • JavaScript实现给定时间相加天数的方法

    本文实例讲述了JavaScript实现给定时间相加天数的方法.分享给大家供大家参考,具体如下: /** * 时间相加处理函数 * @param date 需要计算的时间(xxxx-xx-xx) * @param plusDays 要加的天数(整数) */ function calcuDate(date, plusDays) { var dateArray = date.split("-"); var year = +dateArray[0]; var month = +dateArra

  • 用javascript实现计算两个日期的间隔天数

    ASP 里面计算两个时间的差距可以 DateDiff,但 javascript 里面没有,需要手写函数. js 里面居然可以直接 Date1-Date2,而且还是转换为毫秒计算时间差的. 复制代码 代码如下: // 计算两个日期的间隔天数  function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2002-12-18格式   var aDate, oDate1, oDate2, iDays   aDate = sDate1.split("-"

  • JS 两个字符串时间的天数差计算

    JS 两个字符串时间的天数差 复制代码 代码如下: var s = ((new Date(paramObj.end_date.replace(/-/g,"\/"))) - (new Date(paramObj.start_date.replace(/-/g,"\/")))); var day = s/1000/60/60/24

  • javaScript 计算两个日期的天数相差(示例代码)

    一:计算两个日期相差的天数 比如:   str1  =  "2002-01-20"   str2  =  "2002-10-11"  怎样用javaScript计算出str1与str2之间相差的天数?  复制代码 代码如下: <html>  <head>  <meta  http-equiv="Content-Type"  content="text/html;  charset=gb2312"&

  • javascript计算当月剩余天数(天数计算器)示例代码

    代码如下: 复制代码 代码如下: <script language="JavaScript"> <!-- Beginvar today = new Date();var now = today.getDate();var year = today.getYear();if (year < 2000) year += 1900; // Y2K fixvar month = today.getMonth(); var monarr = new Array(31, 2

  • js计算两个时间之间天数差的实例代码

    复制代码 代码如下: //判断是否为闰年function isLeapYear(year){if(year % 4 == 0 && ((year % 100 != 0) || (year % 400 == 0))){     return true;}return false;}//判断前后两个日期function validatePeriod(fyear,fmonth,fday,byear,bmonth,bday){if(fyear < byear){return true;}el

  • Js 时间间隔计算的函数(间隔天数)

    复制代码 代码如下: function GetDateDiff(startDate,endDate) { var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime(); var endTime = new Date(Date.parse(endDate.replace(/-/g, "/"))).getTime(); var dates = Math.abs((startTim

  • JS 两日期相减,获得天数的小例子(兼容IE,FF)

    复制代码 代码如下: function GetDay() {    var arrDate, objDate1, objDate2, intDays; objDate1 = new Date();    objDate2 = new Date(); arrDate = $("#开始日期").val().split("-");    objDate1.setFullYear(arrDate[0], arrDate[1], arrDate[2]); arrDate =

  • JavaScript实现简易的天数计算器实例【附demo源码下载】

    本文实例讲述了JavaScript实现简易的天数计算器.分享给大家供大家参考,具体如下: 运行效果图如下: 功能: 1. 支持选择日期: 2. 自动计算闰年: 3. 支持使用当前日期. 代码: (1)html文件: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>简易天数计算器</title> <s

  • JS实现简单的天数计算器完整实例

    本文实例讲述了JS实现简单的天数计算器.分享给大家供大家参考,具体如下: 刚学了JS,想做个计算两个日期之间相差天数的东西,因为本人总是要算距离XX还有多少天.. 开始用很笨的方法写了一个,写完百度了一下,发现用 Date() 的话 几行代码就可以搞定.自己看语法的时候一扫而过,觉得会了,其实是不会的,至少在该用它的时候都想不到他有这个功能,这就是掌握类库的重要性吧. 先放上写的很笨的那种方法: index.html <!DOCTYPE html> <html lang="en

  • JS根据年月获得当月天数的实现代码

    function getDaysInMonth(year,month){ month = parseInt(month,10); //parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制. var temp = new Date(year,month,0); return temp.getDate(); }

随机推荐