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 相关文章推荐
一个cssQuery对象 javascript脚本实现代码
Jul 21 Javascript
javascript 鼠标拖动图标技术
Feb 07 Javascript
Javascript中各种trim的实现详细解析
Dec 10 Javascript
JavaScript表单验证开发
Nov 23 Javascript
vue高德地图之玩转周边
Jun 16 Javascript
vue.js项目nginx部署教程
Apr 05 Javascript
JS使用setInterval实现的简单计时器功能示例
Apr 19 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
Sep 17 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
Jan 27 Javascript
Vue利用Blob下载原生二进制数组文件
Sep 25 Javascript
js实现踩五彩块游戏
Feb 08 Javascript
JS替换字符串中指定位置的字符(多种方法)
May 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
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
python分析网页上所有超链接的方法
2015/05/08 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
python3.6的venv模块使用详解
2018/08/01 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
python中entry用法讲解
2020/12/04 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
windeln官方海外旗舰店:德淘超人气母婴超市
2017/12/15 全球购物
个人作风建设自查报告
2014/10/22 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
2014幼儿园教育教学工作总结
2014/12/17 职场文书
荆州古城导游词
2015/02/06 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript