Contoh dalam artikel ini menerangkan kaedah JS untuk mendapatkan bilangan hari terakhir dalam bulan itu, bilangan hari maksimum dan bilangan minggu bagi hari tertentu. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:
<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 mendapat bilangan hari maksimum dalam sebulan
Terdapat satu perkara yang menarik tentang kaedah pembinaan tarikh Date("xxxx/xx/xx") baharu dalam JS,
Apabila anda lulus dalam "xxxx/xx/0" (nombor 0), tarikh yang diperolehi ialah hari terakhir bulan sebelum bulan "xx" (nilai maksimum bulan "xx" ialah 69, di luar topik),
Apabila anda lulus dalam "xxxx/xx/1" (No. 1), tarikh yang diperolehi ialah hari pertama dalam bulan selepas bulan "xx" (faham sendiri)
Jika anda lulus dalam "1999/13/0", anda akan mendapat "1998/12/31". Dan kelebihan terbesar ialah apabila anda lulus dalam "xxxx/3/0", anda akan mendapat hari terakhir Februari dalam tahun xxxx Ia secara automatik akan menentukan sama ada tahun semasa adalah tahun lompat dan kembali 28 atau 29. Anda tidak Tidak perlu menilai sendiri,
Oleh itu, jika kita ingin tahu berapa hari terdapat dalam tahun dan bulan yang dipilih, kita hanya perlu
var temp=new Date("选择年/选择月+1/0"); return temp.getDate()//最大天数
Untuk pengesahan, anda juga boleh menggunakan kaedah ini.
Berikut ialah kaedah getDaysInMonth(tahun, bulan) yang ditulis dalam JS untuk mendapatkan bilangan hari dalam tahun dan bulan tertentu:
function getDaysInMonth(year,month){ month = parseInt(month,10)+1; var temp = new Date(year+"/"+month+"/0"); return temp.getDate(); }
js Dapatkan nombor minggu hari tertentu dalam tahun tertentu
/** * 判断年份是否为润年 * * @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; }
Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.