国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js實現(xiàn)日歷可獲得指定日期周數(shù)及星期幾示例分享(js獲取星期幾)

2019-11-20 20:56:49
字體:
來源:轉載
供稿:網(wǎng)友

應為要有交互,選擇了Js來實現(xiàn),也算是 結對編程 的初試吧。 我將顯示部分用html 寫好,點擊的按鈕觸發(fā)事件函數(shù)是check();

復制代碼 代碼如下:

function onCheck(){
var Year = document.getElementById("year").value; //獲取文本框的“年” var theYear =Year * 1; //轉換為number類型 //alert(theYear); // 獲取月值
var month = document.getElementById("month");
var index1=month.selectedIndex; var theMonth = month.options[index1].value; //獲取月值
var day = document.getElementById("day");
var index2=day.selectedIndex;
var theDay = day.options[index2].value;

// 輸入值判斷部分
...
//調用核心函數(shù)
days(theYear,theMonth,theDay);
}

核心函數(shù)days如下:

復制代碼 代碼如下:

function days(year,month,day) {
    var days = 0;  //表示改日期為當年的第幾天
    //累加月天數(shù)
    for(var i = 1; i < month; i++ ){
    switch(i){
    //大月的情況加31
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:{
    days += 31;
    break;
    }
    //小月的情況加30
    case 4:
    case 6:
    case 9:
    case 11:{
    days += 30;
    break;
    }
    //二月的情況,根據(jù)年類型來加
    case 2:{
        if(isLeapYear(year)){
        days += 29; //閏年加29
        }
        else {
        days += 28;
        }
    break;
    }
    }
}
day = day * 1;
days += day;  //月天數(shù)之和加上日天數(shù)

var date0 = new Date(year,0,1);   //當年的第一天是周幾
//   alert(date0.getDay());
    var date1 = new Date(year,month-1,day); //將日期值格式化,0-11代表1月-12月;
//   alert((days + date0.getDay()+6)/7);
    var nthOfWeek = Math.floor((days + date0.getDay()+6)/7);  //向下取整
//   alert(nthOfWeek);
    var toDay = new Array("星期天","星期一","星期二","星期三","星期四","星期五","星期六");
    //day.getDay();根據(jù)Date返一個星期中的某其中0為星期日
    alert("該日期是一年中的第"+days+"天/n"+"     是第"+nthOfWeek+"周的"+toDay[date1.getDay()]);
}

調試過程中遇到了許多意外的錯誤,如類型的不匹配帶來的計算錯誤,如數(shù)字的舍入問題;
在隊友的協(xié)助下,他負責審核和協(xié)助抓蟲子,我負責實施和編碼;
在最后一個環(huán)節(jié),對輸入值的測試中,我們很好的相互協(xié)助,分析不同的輸入情況,涵蓋了各種可能的意外,很快的完成了功能的完善;
下面是對輸入值的判斷是否允許的代碼 :

復制代碼 代碼如下:

if (isNaN(theYear)|| theYear < 0) {
  alert("輸入有誤,請重新輸入");
  return ;
}

if((theMonth == 2 && theDay > 29 && isLeapYear(theYear))||(theMonth == 2 && theDay > 28 && !isLeapYear(theYear))) {
  alert("輸入有誤,請重新輸入");
  return ;
}

if((theMonth == 4 || theMonth == 6 || theMonth == 9 || theMonth == 11) && theDay == 31 ) {
  alert("輸入有誤,請重新輸入");
  return ;
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 清水河县| 禄劝| 林口县| 惠水县| 宁远县| 茂名市| 湛江市| 长春市| 临城县| 阳信县| 阿勒泰市| 邹平县| 汤阴县| 溧阳市| 平南县| 张家界市| 曲周县| 太保市| 措勤县| 卓尼县| 融水| 蒲城县| 东光县| 高安市| 双江| 穆棱市| 潼南县| 新巴尔虎右旗| 怀化市| 临沭县| 平阴县| 鲜城| 德惠市| 马龙县| 宝丰县| 阿尔山市| 庆阳市| 清新县| 衡水市| 玉屏| 内丘县|