Heim >Web-Frontend >js-Tutorial >JS-Methode zum Abrufen der letzten Anzahl von Tagen im Monat, der maximalen Anzahl von Tagen und der Wochenanzahl eines bestimmten Tages_Javascript-Fähigkeiten

JS-Methode zum Abrufen der letzten Anzahl von Tagen im Monat, der maximalen Anzahl von Tagen und der Wochenanzahl eines bestimmten Tages_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 15:27:081848Durchsuche

Das Beispiel in diesem Artikel beschreibt die JS-Methode zum Erhalten der letzten Anzahl von Tagen im Monat, der maximalen Anzahl von Tagen und der Wochennummer eines bestimmten Tages. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

<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 erhält die maximale Anzahl von Tagen in einem Monat

Es gibt eine wunderbare Sache an der Datumskonstruktionsmethode von new Date("xxxx/xx/xx") in JS,
Wenn Sie „xxxx/xx/0“ (Zahl 0) übergeben, ist das erhaltene Datum der letzte Tag des Monats vor dem Monat „xx“ (der Maximalwert des Monats „xx“ ist 69, Off-Topic),
Wenn Sie „xxxx/xx/1“ (Nr. 1) eingeben, ist das erhaltene Datum der erste Tag des Monats nach dem Monat „xx“ (verstehen Sie es selbst)
Wenn Sie „1999/13/0“ eingeben, erhalten Sie „1998/12/31“. Und der größte Vorteil besteht darin, dass Sie bei der Eingabe von „xxxx/3/0“ den letzten Februartag im Jahr xxxx erhalten. Es wird automatisch ermittelt, ob das aktuelle Jahr ein Schaltjahr ist, und 28 oder 29 zurückgegeben Du musst nicht selbst urteilen,
Wenn wir also wissen möchten, wie viele Tage das ausgewählte Jahr und der ausgewählte Monat hat, müssen wir nur

var temp=new Date("选择年/选择月+1/0");
return temp.getDate()//最大天数

Zur Verifizierung können Sie auch diese Methode verwenden.

Das Folgende ist die in JS geschriebene Methode getDaysInMonth(year, monatlich), um die Anzahl der Tage in einem bestimmten Jahr und Monat zu ermitteln:

function getDaysInMonth(year,month){
   month = parseInt(month,10)+1;
   var temp = new Date(year+"/"+month+"/0");
   return temp.getDate();
}

js Ermittelt die Wochennummer eines bestimmten Tages in einem bestimmten Jahr

/**
 * 判断年份是否为润年
 *
 * @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;
}

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit der JavaScript-Programmierung befassen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn