js智能判斷閏年平年匹配年月日

一:需求提出

在從事WEB前端的朋友們,可能常常都會遇到須要在一個規定的時間段內查詢日期之類的需求。以下圖: php


在這裏面要根據閏年或平年來智能匹配日期:當年份發生變化的時候,會自動分辨閏年和平年,以此月份和日會自動的進行變化和匹配。 html

那麼這些是怎麼實現的呢? 前端

blog已經遷移到這裏了,有更多文章,歡迎你們訪問。 app


完成這個需求須要你掌握如下幾個知識點: spa

  1. 首先顯示年月日。怎麼顯示?
  2. 當年或月發生變化的時候,對應的日也要發生變化。好比,若是是閏年2000年,你選擇2月的時候,這時候顯示日的下拉列表裏只能顯示1到29天。
  3. 判斷閏年和平年。怎麼判斷?

二:代碼實現

1.顯示年份

MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var y = new Date().getFullYear();
for (var i = y; i > (y-30); i--){//以今年爲準,向前30年
    document.getElementById("YYYY1").options.add(new Option(" "+ i +"", i));
}

2.顯示月份

for (var i = 1; i < 13; i++) {
    document.getElementById("MM1").options.add(new Option(" " + i + "", i));
}

3.顯示日

var n = MonHead[new Date().getMonth()];
        //判斷若是是二月份,而且是閏年的話,多加1天
    if (new Date().getMonth() == 1 && IsPinYear(YYYYvalue)) {
        n++;
    }
    writeDay(n,1);

4:判斷閏年,平年

function IsPinYear(year)//判斷是否閏平年
{
    return(0 == year%4 && (year%100 !=0 || year%400 == 0));
}

5:根據閏年,平年來輸出月份對應的天數。

blog已經遷移到這裏了,看詳細代碼請訪問這裏 code

三:顯示結果

blog已經遷移到這裏了,有更多文章,歡迎你們訪問。
htm

1>:默認顯示結果爲當天的時間:

2>:2月份時候的天數(不是閏年)


3>:2月份時候的天數(是閏年)


以上爲核心代碼,如有疑問,可留言。 blog

相關文章
相關標籤/搜索