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 相关文章推荐
基于jquery的cookie的用法
Jan 10 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 Javascript
微信JSAPI支付操作需要注意的细节
Jan 10 Javascript
JSON键值对序列化和反序列化解析
Jan 24 Javascript
如何快速上手Vuex
Feb 14 Javascript
详解webpack分包及异步加载套路
Jun 29 Javascript
mui back 返回刷新页面的实例
Dec 06 Javascript
mui框架 页面无法滚动的解决方法(推荐)
Jan 25 Javascript
nvm、nrm、npm 安装和使用详解(小结)
Jan 17 Javascript
浅谈一种让小程序支持JSX语法的新思路
Jun 16 Javascript
Vue路由之JWT身份认证的实现方法
Aug 26 Javascript
Vue双向数据绑定(MVVM)的原理
Oct 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
PHP脚本的10个技巧(6)
2006/10/09 PHP
PHP初学者最感迷茫的问题小结
2010/03/27 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
使用jquery实现轮播图效果
2021/01/02 jQuery
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
Python合并字符串的3种方法
2015/05/21 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Python列表list排列组合操作示例
2018/12/18 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
2020/04/14 Python
python实现学生管理系统开发
2020/07/24 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
苹果中国官方网站:Apple中国
2016/07/22 全球购物
九年级家长会邀请函
2014/01/15 职场文书
机房搬迁方案
2014/05/01 职场文书
初婚未育证明样本
2015/06/18 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
win10音频服务未响应怎么解决?win10音频服务未响应未修复的解决方法
2022/08/14 数码科技