<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裡面的new Date("xxxx/xx/xx")這個日期的建構方法有一個妙處,
當你傳入的是"xxxx/xx/0"(0號)的話,得到的日期是"xx"月的前一個月的最後一天("xx"月的最大值是69,題外話),
當你傳入的是"xxxx/xx/1"(1號)的話,得到的日期是"xx"月的後一個月的第一天(自己理解)
如果傳入"1999/13/0",會得到"1998/12/31"。而且最大的好處是當你傳入"xxxx/3/0",會得到xxxx年2月的最後一天,它會自動判斷當年是否是閏年來返回28或29,不用自己判斷,
所以,我們想得到選擇年選擇月有多少天的話,只需要
var temp=new Date("選擇年/選擇月+1/0");
return temp.getDate()//最大天數
校驗的話,也可以用這個方法。
以下是使用JS編寫的取得某年某月有多少天的getDaysInMonth(year, month)方法:
複製代碼代碼如下:
function getDaysInMonth(year,month){
month = parseInt(month,10)+1;
var temp = new Date(year+"/"+month+"/0");
return temp.getDate();
}
用javascript取得某月天數方法如下:
目標:取得2014/4月份的天數
//建構一個日期物件:var day = new Date(2014,4,0); //取得天數:var daycount = day.getDate();
說明:OK,你想要的天數已經出來了。 getDate()是取得的最後一天,就是當月的天數註:我們在建構日期物件時,4其實是實際建構的5月份,因為月份是從0開始的。而第三個數0天數,要求最小是1號,比1號小的話,就成了你要的3月最後那一天了。