The example in this article describes the JS method of obtaining the last number of days in the month, the maximum number of days and the week number of a certain day. Share it with everyone for your reference, the details are as follows:
<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 gets the maximum number of days in a month
There is a wonderful thing about the date construction method of new Date("xxxx/xx/xx") in JS,
When you pass in "xxxx/xx/0" (number 0), the date obtained is the last day of the month before month "xx" (the maximum value of month "xx" is 69, off topic),
When you pass in "xxxx/xx/1" (No. 1), the date obtained is the first day of the month after the month "xx" (understand by yourself)
If you pass in "1999/13/0", you will get "1998/12/31". And the biggest advantage is that when you pass in "xxxx/3/0", you will get the last day of February in xxxx year. It will automatically determine whether the current year is a leap year and return 28 or 29. You don't have to judge by yourself,
Therefore, if we want to know how many days there are in the selected year and month, we only need to
var temp=new Date("选择年/选择月+1/0"); return temp.getDate()//最大天数
For verification, you can also use this method.
The following is the getDaysInMonth(year, month) method written in JS to get the number of days in a certain year and month:
function getDaysInMonth(year,month){ month = parseInt(month,10)+1; var temp = new Date(year+"/"+month+"/0"); return temp.getDate(); }
js Get the week number of a certain day in a certain year
/** * 判断年份是否为润年 * * @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; }
I hope this article will be helpful to everyone in JavaScript programming.