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


Posted in Javascript onMarch 14, 2014

应为要有交互,选择了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 ;
}
Javascript 相关文章推荐
javascript一个无懈可击的实例化XMLHttpRequest的方法
Oct 13 Javascript
使用Javascript接收get传递的值的代码
Nov 30 Javascript
html超链接打开窗口大小的方法
Mar 05 Javascript
jQuery中parents()方法用法实例
Jan 07 Javascript
Bootstrap笔记之缩略图、警告框实例详解
Mar 09 Javascript
JS设计模式之惰性模式(二)
Sep 29 Javascript
从零开始最小实现react服务器渲染详解
Jan 26 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
Nov 19 Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
Aug 14 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
Mar 14 Javascript
Vue的自定义组件不能使用click方法的解决
Jul 28 Javascript
javascript将相对路径转绝对路径示例
Mar 14 #Javascript
Node.js和PHP根据ip获取地理位置的方法
Mar 14 #Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
Mar 13 #Javascript
javascript回车完美实现tab切换功能
Mar 13 #Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
Mar 13 #Javascript
JQuery中extend使用介绍
Mar 13 #Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 #Javascript
You might like
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
python实现删除文件与目录的方法
2014/11/10 Python
Python编码类型转换方法详解
2016/07/01 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
详解python函数传参是传值还是传引用
2018/01/16 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python中字符串内置函数的用法总结
2018/09/13 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
详解Python 解压缩文件
2019/04/09 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
信息管理专业学生自荐信格式
2013/09/22 职场文书
欢迎领导检查标语
2014/06/27 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
任命书怎么写
2015/03/02 职场文书
安全员岗位职责范本
2015/04/11 职场文书
Python 可迭代对象 iterable的具体使用
2021/08/07 Python