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 相关文章推荐
通过DOM脚本去设置样式信息
Sep 19 Javascript
js 得到文件后缀(通过正则实现)
Jul 08 Javascript
jQuery回车实现登录简单实现
Aug 20 Javascript
jQuery 无刷新分页实例代码
Nov 12 Javascript
用jQuery toggleClass 实现鼠标移上变色
May 14 Javascript
js中实现字符串和数组的相互转化详解
Jan 24 Javascript
Bootstrap常用组件学习(整理)
Mar 24 Javascript
vue-cli如何添加less 以及sass
Jul 06 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 jQuery
使用vue-router完成简单导航功能【推荐】
Jun 28 Javascript
JavaScript实现预览本地上传图片功能完整示例
Mar 08 Javascript
vue element upload实现图片本地预览
Aug 20 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
第十一节 重载 [11]
2006/10/09 PHP
php简单分页类实现方法
2015/02/26 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
JS回调函数深入理解
2019/10/16 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
如何利用python生成MD5并去重
2020/12/07 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
大学生怎样写好自荐信
2014/02/25 职场文书
食品安全宣传标语
2014/06/07 职场文书
培训心得体会怎么写
2016/01/25 职场文书
Java 死锁解决方案
2022/05/11 Java/Android