JavaScript-07 Date对象

一、Date对象

  Date对象用于获得和处理日期和时间。在计算机的世界中:时间是从1970.1.1 00:00 开始;都是通过 毫秒数来计算的。

二、定义日期

  可以通过new关键词来定义Date对象。

  var myDate = new Date();

三、日期对象的方法

  3.1 获取当前时间:getTime();

    var time= new Date().

      time.getTime(); time代表time 表示当前距离1970.1.1 的毫秒数。

  3.2 将时间对象转换成字符串:toString();

  3.3 获取年份:getFullYear();获取四位数的年份。

  3.4 获取月份:getMonth();返回月份(0-11),一般要加1才符合我们的月份。

  3.5 获取日期:getDate(); 返回一个月中的某一天(1-31)。

  3.6 获取小时:getHours(); 返回(0-23)。

  3.7 获取分钟数:getMinutes(); 返回(0-59)。

  3.8 获取秒数:getSeconds(); 返回(0-59)。

  3.9 获取毫秒数:getMilliseconds();返回(0-999)。

  实例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>时间对象</title>
    </head>
    <body>
    </body>
    <script type="text/javascript">
        //获取当前时间:
        var time= new Date().getTime();
        //document.write(time);
        //如何定义时间对象:
        var date = new Date();
        //将时间对象转换成字符串
        document.write(date.toString());
        
        //可以将时间对象的各个部分拆分,从新组成我们认识的时间
        //获取年:
        var year=date.getFullYear();
        //获取月份: 注意 +1;
        var month=date.getMonth()+1;
        //获取日期:
        var day=date.getDate();
        //获取小时
        var hour =date.getHours();
        //获取分钟数
        var minute=date.getMinutes();
        //获取秒数
        var second=date.getSeconds();
        //获取毫秒数
        var ms=date.getMilliseconds();
        var str=year+"-"+month+"-"+day+"&nbsp;"+hour+":"+minute+":"+second+":"+ms;
        document.write("<br>");
        document.write(str);
        document.write("<br>");
        //既然有get方法,也有set方法。可以利用setFullYear();等方法自行设置时间。
 //创建一个如下的时间对象 var dd = new Date(); dd.setFullYear(2000); dd.setMonth(1); document.write(dd); </script> </html>

四、练习

  4.1 将年份转换成如下格式 例如:2020.2.20  转成  "公元二零二零年二月二十日”。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
    </body>
    <script type="text/javascript">
        var date = new Date();
        var res = "公元";
        var arr = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"];
        //
        var year = date.getFullYear(); //2020
        var sy = year.toString();
        for(var i = 0; i < sy.length; i++) {
            var index = sy[i];
            res += arr[index];
        }
        res+="年";
        //
        var month=date.getMonth()+1;
        if(month<=10){
            res+=arr[month];
        }else {
            var g=month%10;
            res+="十"+arr[g];
        }
        res+="月"
        //
        var day=date.getDate();
        if(day<=10){
            res+=arr[day];
        }else if(day<20){
            var d=day%10;
            res+="十"+arr[d];
        }else if(day==20 ){
            res+="二十";
        }else if(day<30){
            var d=day%10;
            res+="二十"+arr[d];
        }else if(day==30){
            res+="三十";
        }else{
            res+="三十一";
        }
        res+="日";
        document.write(res);
    </script>

</html>

  4.2 根据今天的日期(年、月、日)在网页中显示如下格式的日历,今天的号数使用红色表示。

 

   解答:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
    </body>
    <script type="text/javascript">
        var date = new Date();
        document.write("今天是:" + date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日")
        document.write("<br>");
        document.write("<br>");
        document.write("<table>");
        document.write("<tr>");
        var arr = ["天", "一", "二", "三", "四", "五", "六"];
        for(var i = 0; i < 7; i++) {

            document.write("<td>星期" + arr[i] + "</td>");
        }
        document.write("</tr>");

        //1. 1号是星期几【】

        var fday = new Date();
        fday.setFullYear(date.getFullYear());
        fday.setMonth(date.getMonth());
        fday.setDate(1);
        
        //求 1号前面有多少空格
        var week = fday.getDay();
        //alert(week);
        //2. 当前月份有多少天?
        var nmy = new Date();
        nmy.setFullYear(date.getFullYear());

        //设置下一个月
        nmy.setMonth(date.getMonth() + 1);
        // nmy.setDate(1); //下一个月1 号
        // 当前月的最后一天
        nmy.setDate(0);

        //  当前月有多少天
        var lastDay = nmy.getDate();
        //总共有多少格子
        var len = week + lastDay;
        for(var i = 1; i <= len; i++) {
            if(i % 7 == 1) {
                document.write("<tr>");
            }
            var d = i - week;
            if(d <= 0) {
                document.write("<td></td>")
            } else {
                if(d == date.getDate()) {
                    document.write("<td style='color: red;'>" + d + "</td>");
                } else {
                    document.write("<td>" + d + "</td>");
                }
            }

            if(i % 7 == 0) {
                document.write("</tr>");
            }
        }

        document.write("</table>");
        
        
        
    </script>

</html>

  效果:

 

posted @ 2020-08-16 14:39  少年与梦©  阅读(190)  评论(0)    收藏  举报