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.addClass始终无效原因分析
Sep 08 Javascript
javascript获取选中的文本的方法代码
Oct 30 Javascript
php跨域调用json的例子
Nov 13 Javascript
jQuery实现精美的多级下拉菜单特效
Mar 14 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
Oct 09 Javascript
JavaScript File API文件上传预览
Feb 02 Javascript
JavaScript生成.xls文件的代码
Dec 22 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
Aug 12 Javascript
vue 使用鼠标滚动加载数据的例子
Oct 31 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
客户端静态页面玩分页
2006/06/26 Javascript
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
jQuery技巧总结
2011/01/01 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
Underscore源码分析
2015/12/30 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
Python中字典和集合学习小结
2017/07/07 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
python中常用的数据结构介绍
2021/01/12 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
2013/03/30 面试题
CAD制图人员的自荐信
2014/02/07 职场文书
自我推荐信范文
2014/05/09 职场文书
生活小常识广播稿
2014/09/16 职场文书
劳模事迹材料范文
2014/12/24 职场文书
大二学年个人总结
2015/03/03 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
《夸父追日》教学反思
2016/02/20 职场文书