Maison  >  Article  >  interface Web  >  Méthode JS pour obtenir le dernier nombre de jours du mois, le nombre maximum de jours et le numéro de semaine d'une certaine compétence day_javascript

Méthode JS pour obtenir le dernier nombre de jours du mois, le nombre maximum de jours et le numéro de semaine d'une certaine compétence day_javascript

WBOY
WBOYoriginal
2016-05-16 15:27:081798parcourir

L'exemple de cet article décrit la méthode JS pour obtenir le dernier nombre de jours du mois, le nombre maximum de jours et le numéro de semaine d'un certain jour. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

<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 obtient le nombre maximum de jours dans un mois

Il y a une chose merveilleuse à propos de la méthode de construction de date de new Date("xxxx/xx/xx") en JS,
Lorsque vous passez en "xxxx/xx/0" (numéro 0), la date obtenue est le dernier jour du mois précédant le mois "xx" (la valeur maximale du mois "xx" est 69, hors sujet),
Lorsque vous passez en "xxxx/xx/1" (N°1), la date obtenue est le premier jour du mois après le mois "xx" (comprenez par vous-même)
Si vous passez le "13/1999/0", vous obtiendrez le "31/12/1998". Et le plus gros avantage est que lorsque vous passez en "xxxx/3/0", vous obtiendrez le dernier jour de février de l'année xxxx. Il déterminera automatiquement si l'année en cours est une année bissextile et renverra 28 ou 29. Vous ne le faites pas. je n'ai pas à juger par toi-même,
Par conséquent, si nous voulons savoir combien de jours il y a dans l'année et le mois sélectionnés, il suffit de

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

Pour vérification, vous pouvez également utiliser cette méthode.

Ce qui suit est la méthode getDaysInMonth(year,month) écrite en JS pour obtenir le nombre de jours dans une année et un mois donnés :

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

js Obtenez le numéro de semaine d'un certain jour dans une certaine année

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

J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn