阅读背景:

HTML 日历_haiyan09的博客_html日历

来源:互联网 

HTML实现日历编写

输出效果展示

HTML代码
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>test</title>
    <style>
      table {
                width: 500px;
                margin: auto;
                text-align: center;
                border: 2px solid pink;
      }     
      th,
      td {
          border: 2px solid pink;
          padding:5px
      }  
      .today {
          color: red;
      }
    </style>
    <script>
            //判断当前年份是否是闰年(闰年2月份有29天,平年2月份只有28天)
            function isLeap(year) {
                return year % 4 == 0 ? (year % 100 != 0 ? 1 : (year % 400 == 0 ? 1 : 0)) : 0;
            }
            var i, k,
                //获取今日日期
                today = new Date(), 
                //获取年份
                y = today.getFullYear(), 
                //获取月份(注意:月份从0开始计算,获取的值比正常月份少1)
                m = today.getMonth(), 
                //获取日期中的日(方便在建立日期表格时高亮显示当天)
                d = today.getDate(), 
                //获取当月的第一天
                firstday = new Date(y, m, 1), 
                 //判断第一天是星期几(返回[0-6]中的一个,0代表星期天,1代表星期一,以此类推)
                dayOfWeek = firstday.getDay(),
                //创建月份数组
                days_per_month = new Array(31, 28 + isLeap(y), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31), 
                 //确定日期表格所需的行数
                str_nums = Math.ceil((dayOfWeek + days_per_month[m]) / 7);
            document.write("<table cellspacing='0'><tr><td colspan ='7'>" + y + "年" + (m + 1) + "月" + "</td></tr>");
             //打印表格第一行(显示星期)
            document.write("<tr><th>日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th>六</th></tr>");
            //二维数组创建日期表格
            for(i = 0; i < str_nums; i += 1) { 
                document.write('<tr>');
                for(k = 0; k < 7; k++) {
                	 //为每个表格创建索引,从0开始
                    var idx = 7 * i + k;
                    //将当月的1号与星期进行匹配
                    var date = idx - dayOfWeek + 1; 
                    //索引小于等于0或者大于月份最大值就用空表格代替
                    (date <= 0 || date > days_per_month[m]) ? date = ' ': date = idx - dayOfWeek + 1; 
                     //高亮显示当天
                    date == d ? document.write('<td class="today">' + date + '</td>') : document.write('<td>' + date + '</td>');
                }
                document.write('</tr>');
            }
            document.write('</table>');
        </script>
  </head>
  <body>
  <script src="./js/jquery-3.4.1.min.js"></script>
  </body>
</html>
<!DOCT



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: