js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)_基础知识

应为要有交互,选择了Js来实现,也算是 结对编程 的初试吧。 我将显示部分用html 写好,点击的按钮触发事件函数是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;

// 输入值判断部分
...
//调用核心函数
days(theYear,theMonth,theDay);
}

核心函数days如下:

复制代码 代码如下:

function days(year,month,day) {
    var days = 0;  //表示改日期为当年的第几天
    //累加月天数
    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;
    }
    //二月的情况,根据年类型来加
    case 2:{
        if(isLeapYear(year)){
        days += 29; //闰年加29
        }
        else {
        days += 28;
        }
    break;
    }
    }
}
day = day * 1;
days += day;  //月天数之和加上日天数

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();根据Date返一个星期中的某其中0为星期日
    alert("该日期是一年中的第"+days+"天\n"+"     是第"+nthOfWeek+"周的"+toDay[date1.getDay()]);
}

调试过程中遇到了许多意外的错误,如类型的不匹配带来的计算错误,如数字的舍入问题;
在队友的协助下,他负责审核和协助抓虫子,我负责实施和编码;
在最后一个环节,对输入值的测试中,我们很好的相互协助,分析不同的输入情况,涵盖了各种可能的意外,很快的完成了功能的完善;
下面是对输入值的判断是否允许的代码 :

复制代码 代码如下:

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 ;
}

时间: 2024-10-27 14:09:11

js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)_基础知识的相关文章

js实现日历可获得指定日期周数及星期几示例分享

 编写一个简易日历.在文本框中输入要查找的日期,程序可以计算出这一天处在该年份的第几周,并且能判断出这一天到底是星期几,需要的朋友可以参考下 应为要有交互,选择了Js来实现,也算是 结对编程 的初试吧. 我将显示部分用html 写好,点击的按钮触发事件函数是check():    代码如下: function onCheck(){  var Year = document.getElementById("year").value; //获取文本框的"年" var t

js获取指定日期周数以及星期几的小例子_javascript技巧

JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 代码如下: function getNowFormatDate(theDate) { var day = theDate; var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; // 初始化时间 Year= day.getFullYear();// ie火狐下都可以 Month= day.getMonth()+

JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)_基础知识

JavaScript lastIndexOf 方法 lastIndexOf 方法用于计算指定的字符串在整个字符串中最后一次出现的位置,并返回该数值.其语法如下: 复制代码 代码如下: str_object.lastIndexOf( search, start ) 参数说明: 参数 说明 str_object 要操作的字符串(对象) search 必需.要检索的字符串 start 可选.指定开始检索的位置,如省略该参数,则将从字符串的最后一个字符开始检索 提示:字符串是从 0 开始计数的. las

js之WEB开发调试利器:Firebug 下载_基础知识

在米随随的Blog看到有关Firebug的介绍,遂下载试用了一下,确实是比较好的工具. 一.效果开发调试利器:Firebug 下载_基础知识-电工基础知识视频下载"> 二.主要功能 Inspect and edit HTML Tweak CSS to perfection Visualize CSS metrics Monitor network activity Debug and profile JavaScript Quickly find errors Explore the DO

浅谈JS日期(Date)处理函数_基础知识

获取日期 1.Date() --返回当日的日期和时间. 2.getDate() --从 Date 对象返回一个月中的某一天 (1 ~ 31). 3.getDay() --从 Date 对象返回一周中的某一天 (0 ~ 6). 4.getMonth() --从 Date 对象返回月份 (0 ~ 11). 5.getFullYear() --从 Date 对象以四位数字返回年份. 6.getYear() --请使用 getFullYear() 方法代替. 7.getHours() --返回 Date

JavaScript中用getDate()方法返回指定日期的教程_基础知识

 按照本地时间的javascript date.getDate()方法返回月份的一天,在指定日期.由getDate返回的值是1到31之间的整数.语法 Date.getDate() 下面是参数的详细信息:     NA 返回值: 返回今天的日期和时间例子: <html> <head> <title>JavaScript getDate Method</title> </head> <body> <script type="

JavaScript 中的日期和时间及表示标准介绍_基础知识

前言 本篇的介绍涵盖以下部分: 1. 时间标准指的是什么?UCT和GMT 的概念.关联和区别? 2. 时间表示标准有哪些? 3. JS 中时间的处理 日期时间标准 日期的标准就不多说了 -- 公元纪年 是为纪念犹太人耶稣(基督)的诞生.他诞生的那一年为公元1年,诞生之前的年份称为"公元前n年" 简单来说,时间的标准就是以什么时间为起点开始计时.对于年份来说,举例来说,如果不使用公元纪年法,估计全世界交流起来就困难重重了(新中国54年,估计很把很多老外整晕) 时间标准其实挺多的. 原子时

JS Date函数整理方便使用_基础知识

JS Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() Date 对象会自动把当前日期和时间保存为其初始值. 参数形式有以下5种: 复制代码 代码如下: new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); new Date(yyyy,mth,dd); new Date(m

Underscore.js 1.3.3 中文注释翻译说明_基础知识

// Underscore.js 1.3.3 // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. // Underscore is freely distributable under the MIT license. // Portions of Underscore are inspired or borrowed from Prototype, // Oliver Steele's Functional, and John Resig'