>  기사  >  웹 프론트엔드  >  해당 월의 마지막 일수, 특정 day_javascript 기술의 최대 일수 및 주 수를 가져오는 JS 방법

해당 월의 마지막 일수, 특정 day_javascript 기술의 최대 일수 및 주 수를 가져오는 JS 방법

WBOY
WBOY원래의
2016-05-16 15:27:081798검색

이 기사의 예에서는 해당 월의 마지막 일수, 최대 일수 및 특정 날짜의 주 수를 가져오는 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에서 새로운 Date("xxxx/xx/xx")의 날짜 구성 방법에 놀라운 점이 있습니다.
"xxxx/xx/0"(숫자 0)을 전달하면 얻은 날짜는 "xx"월 ​​이전 달의 마지막 날입니다("xx"월의 최대 값은 69입니다. 주제에서 벗어남).
"xxxx/xx/1"(1번)을 전달하면 "xx"월 ​​다음달의 1일이 취득된 날짜가 됩니다(직접 이해하세요)
"1999/13/0"을 전달하면 "1998/12/31"이 됩니다. 그리고 가장 큰 장점은 "xxxx/3/0"을 전달하면 xxxx년의 2월 마지막 날을 얻게 된다는 점입니다. 그러면 해당 연도가 윤년인지 자동으로 확인하여 28 또는 29가 반환됩니다. 혼자 판단하지 마세요,
따라서 선택한 연도와 월이 몇 일인지 알고 싶다면

만 입력하면 됩니다.
var temp=new Date("选择年/选择月+1/0");
return temp.getDate()//最大天数

인증을 위해 이 방법을 사용할 수도 있습니다.

다음은 특정 연도와 월의 일수를 가져오기 위해 JS로 작성한 getDaysInMonth(년, 월) 메소드입니다.

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) &#63; 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 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.