首頁 > web前端 > js教程 > JS取得月份最後天數、最大天數與某日週數的方法_javascript技巧

JS取得月份最後天數、最大天數與某日週數的方法_javascript技巧

WBOY
發布: 2016-05-16 15:27:08
原創
1861 人瀏覽過

本文實例講述了JS取得月份最後天數、最大天數與某日週數的方法。分享給大家參考,具體如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<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,不用自己判斷,
所以,我們想得到選擇年選擇月有多少天的話,只需要

1

2

var temp=new Date("选择年/选择月+1/0");

return temp.getDate()//最大天数

登入後複製

校驗的話,也可以用這個方法。

以下是使用JS編寫的取得某年某月有多少天的getDaysInMonth(year, month)方法:

1

2

3

4

5

function getDaysInMonth(year,month){

   month = parseInt(month,10)+1;

   var temp = new Date(year+"/"+month+"/0");

   return temp.getDate();

}

登入後複製

js 取得某年的某天是第幾週

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

/**

 * 判断年份是否为润年

 *

 * @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;

}

登入後複製

希望本文所述對大家JavaScript程式設計有所幫助。

相關標籤:
js
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板