JS: 如何计算一个月有多少天

转自:https://www.2cto.com/kf/201806/755776.html
1
function getCountDays() { 2 var curDate = new Date(); 3 /* 获取当前月份 */ 4 var curMonth = curDate.getMonth(); 5 /* 生成实际的月份: 由于curMonth会比实际月份小1, 故需加1 */ 6 curDate.setMonth(curMonth + 1); 7 /* 将日期设置为0, 这里为什么要这样设置, 我不知道原因, 这是从网上学来的 */ 8 curDate.setDate(0); 9 /* 返回当月的天数 */ 10 return curDate.getDate(); 11 } 12 例如, 获取当前月份(现在是3月)的总天数: 13 getCountDays() // 返回31

Javascript的Date.setDate()方法:

setDate()方法用來設定日期物件中本地時間的日,也就是每個月中的幾號,傳入參數是一個1~31的整數。若是傳入的值超出當月份的正常範圍,setDate()方法也會依據超出的數值進行計算,譬如setDate(0)會讓日期變成前一個月的最後一天,setDate(-1)會讓日期變成前一個月的倒數第二天。若當月有31天,那setDate(32)會讓日期變成下個月的第一天。

Date.setDate()的語法:

DateObj.setDate(dayValue)

dayValue:傳入值,是一個1~31的整數,若是傳入的值超出當月份的正常範圍,setDate()方法也會依據超出的數值進行計算。

傳回值:從1970年1月1日0時0分到該UTC時間經過的毫秒數。

Date.setDate()的範例:

 1 <script type="text/javascript">
 2 var mydate = new Date("Mar 31, 2013 21:00:00");
 3 document.writeln(mydate.toLocaleString());
 4 document.writeln("<br/>");
 5 mydate.setDate(0);
 6 document.writeln(mydate.toLocaleString());
 7 document.writeln("<br/>");
 8 var mydate2 = new Date("Mar 31, 2013 21:00:00");
 9 mydate2.setDate(32);
10 document.writeln(mydate2.toLocaleString());
11 document.writeln("<br/>");
12 </script>

Date.setDate()的範例輸出:

2013年3月31日 下午9:00:00 
2013年2月28日 下午9:00:00 
2013年4月1日 下午9:00:00

Date.setDate()的範例說明:

1.設定日期物件日期為2013年3月31。

2.使用setDate(0),日期變為2月28日。

3.設定新日期物件日期為2013年3月31。

4.使用setDate(32),日期物件日期變為2013年4月1日。

原文地址:https://www.cnblogs.com/sharpest/p/5602713.html