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基本概念初级讲解论坛贴的学习记录
Feb 22 Javascript
js 数值项目的格式化函数代码
May 14 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
使用控制台破解百小度一个月只准改一次名字
Aug 13 Javascript
javascript创建对象的几种模式介绍
May 06 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
Apr 17 Javascript
vue实现动态列表点击各行换色的方法
Sep 13 Javascript
读懂CommonJS的模块加载
Apr 19 Javascript
layui使用数据表格实现购物车功能
Jul 26 Javascript
javascript操作向表格中动态加载数据
Aug 27 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 Javascript
一文帮你理解PReact10.5.13源码
Apr 03 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
相对路径转化成绝对路径
2007/04/10 PHP
php 获取百度的热词数据的代码
2012/02/18 PHP
详解YII关联查询
2016/01/10 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
xml转json的js代码
2012/08/28 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
pymssql ntext字段调用问题解决方法
2008/12/17 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
python openCV自制绘画板
2020/10/27 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
KEETSA环保床垫:更好的睡眠,更好的生活!
2016/11/24 全球购物
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
读书心得体会
2013/12/28 职场文书
擅自离岗检讨书
2014/02/11 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
科学发展观标语
2014/10/08 职场文书
导游欢迎词范文
2015/01/23 职场文书
毕业赠语大全
2015/06/23 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
分享Python异步爬取知乎热榜
2022/04/12 Python