登录  /  注册
首页 > web前端 > js教程 > 正文

日期函数和对于函数封装的灵活运用

零下一度
发布: 2017-06-26 11:48:17
原创
1424人浏览过




   
   title
   


   
   



   
       
           
           
           
           
           
           
           
       
   
   

<script><br/> /*<br/> * 获取指定年月份的日期总天数<br/> * 显示的月份的第一天是星期几?<br/> * */</script>

var yearSelectElement = document.querySelector('#yearSelect');
   var monthSelectElement = document.querySelector('#monthSelect');
   var tbody = document.querySelector('tbody');
   var strongElement = document.querySelector('strong');

var nowDate = new Date();

/*
   * 动态生成option
   * */
   var html = '';
   for (var i=1970; i        if (i == nowDate.getFullYear()) {
           html = '' + html;
       } else {
           html = '' + html;
       }

}
   yearSelectElement.innerHTML = html;

var html = '';
   for (var i=0; i        if (i == nowDate.getMonth()) {
           html += '';
       } else {
           html += '';
       }

}
   monthSelectElement.innerHTML = html;

/*
   * 默认显示当前年和月的日历
   * */
   calendar(nowDate.getFullYear(), nowDate.getMonth());

/*
   * 根据选择的年和月重新生成日历
   * */
   yearSelectElement.onchange = monthSelectElement.onchange = function() {
       calendar(yearSelectElement.value, monthSelectElement.value);
   };

function calendar(year, month) {
       year = Number(year);
       month = Number(month);
       strongElement.innerHTML = year + '年' + (month+1) + '月';

var html = '

';
       for (var i=1; i

if (i%7 == 1 && i != 1) {
               html += '

';
           }

var v = i- getFirstDay(year, month);

if (v getDays(year, month)) {
               html += '

 ';
           } else {
               if (i % 7 == 1 || i % 7 == 0) {
                   html += ''+ v +'';
               } else if (
                   year == nowDate.getFullYear()
                   &&
                   month == nowDate.getMonth()
                   &&
                   v == nowDate.getDate()
               ) {
                   html += ''+ v +'';
               } else {
                   html += ''+ v +'';
               }
           }


       }
       html += '

';
       tbody.innerHTML = html;
   }

/*
   * 获取指定显示年月份的日期总天数
   * */
   function getDays(y, m) {
       return new Date(y, m+1, 1, -1, 0, 0).getDate();

/*
       * 得到下一月的1日,-1时0分0秒的日期
       * -1 : 其实就是前一天,表示就是上个月的最后一天的23时
       * */
       var date = new Date(y, m+1, 1, -1, 0, 0);
       /*
       * 上个月最后一天的日期其实就是上个月总的天数
       * */
       return date.getDate();
   }

/*
   * 获取指定显示的年月份的第一天是星期几
   * */
   function getFirstDay(y, m) {
       return new Date(y, m, 1).getDay();
   }


以上就是日期函数和对于函数封装的灵活运用的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号