zoukankan      html  css  js  c++  java
  • javascript学习之Date对象

      前几天学习了一下date对象,于是写了一个简单的时间显示放到博客页面里(位于右上角),类似这样的效果,时:分:秒 xxxx年xx月xx日。

      下面来说一下具体实现步骤。

      首先,既然date是一个对象,那么,在使用之前就需要创建这个对象var myDate = new Date();由于函数较简单且这个对象用的比较多,我就把它放到全局变量里面了。接着就要用这个对象现实时分秒年月日的显示。

      首先,写显示时分秒的子函数。这个函数只要获取到时间之后显示到页面即可,需要的额外处理是分和秒只有一位数时要在前面加个0,然后这个函数要每隔1秒调用一次。

     1   /*****************show hour & minutes & seconeds****************/
     2   function showHms(){
     3       var myDate = new Date();
     4       var h=myDate.getHours();
     5     var m=myDate.getMinutes();
     6     var s=myDate.getSeconds();
     7     m=checkTime(m);
     8     s=checkTime(s);
     9     document.getElementById("hms").innerHTML=h+":"+m+":"+s;
    10     t=setTimeout("showHms()",1000);     
    11   }
    12 
    13   /**********add a zero in front of numbers<10***********/
    14   function checkTime(i){
    15       if (i<10){
    16           i="0" + i;
    17       }
    18           return i;
    19   }
    View Code

      然后写显示星期的函数。getDay()返回的是阿拉伯数字0~6,为了把数字转换为星期X,需要把星期几的字符串放到数组里,getDay()返回的数字对应到数组下标即可。

    1   /**************show weekday*****************/
    2   function showWeekday(){
    3       var weekday = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
    4       document.getElementById("weekday").innerHTML = weekday[myDate.getDay()];
    5   }
    View Code

      再写显示年月日的函数。要注意getMonth()返回的数字比实际月份小一个月,所以要加1,写成这样(myDate.getMonth()+1)后才可以用连接符。

    1   /***********show year & month & day************/
    2   function showYmd(){
    3       document.getElementById("ymd").innerHTML = myDate.getFullYear()+"年"+(myDate.getMonth()+1)+"月"+myDate.getDate()+"日";
    4   }
    View Code

      最后根据需要调用上面写的三个子函数,需要显示哪个就调用哪个。

    1   /************show time*****************/
    2   function startTime(){
    3       showHms();
    4       showWeekday();
    5       showYmd();
    6   }
    View Code

      最后就是显示函数在上面时候调用了,我们可以选择在页面加载时调用<body onload="startTime()">,也可以在页面加载完成时调用,把js代码放到页面代码最后面</body>前面。

      下面贴出完整代码。

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>test</title>
     6 </head>
     7 
     8 <body>
     9 
    10 <div id="time">
    11   <span id="hms"></span>
    12   <span id="weekday"></span>
    13   <span id="ymd"></span>
    14 </div>
    15 
    16 <script type ="text/javascript">
    17   var myDate = new Date();
    18 
    19   /*****************show hour & minutes & seconeds****************/
    20   function showHms(){
    21       var myDate = new Date();
    22       var h=myDate.getHours();
    23     var m=myDate.getMinutes();
    24     var s=myDate.getSeconds();
    25     m=checkTime(m);
    26     s=checkTime(s);
    27     document.getElementById("hms").innerHTML=h+":"+m+":"+s;
    28     t=setTimeout("showHms()",1000);     
    29   }
    30 
    31   /**********add a zero in front of numbers<10***********/
    32   function checkTime(i){
    33       if (i<10){
    34           i="0" + i;
    35       }
    36           return i;
    37   }
    38 
    39   /**************show weekday*****************/
    40   function showWeekday(){
    41       var weekday = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
    42       document.getElementById("weekday").innerHTML = weekday[myDate.getDay()];
    43   }
    44 
    45   /***********show year & month & day************/
    46   function showYmd(){
    47       document.getElementById("ymd").innerHTML = myDate.getFullYear()+""+(myDate.getMonth()+1)+""+myDate.getDate()+"";
    48   }
    49 
    50   /************show time*****************/
    51   function startTime(){
    52       showHms();
    53       showWeekday();
    54       showYmd();
    55   }
    56 
    57   startTime();
    58   
    59 </script>
    60 
    61 </body>
    62 </html>
    View Code
  • 相关阅读:
    忽略大小写的RegularExpressionValidator
    Outlook 2010 “加载项执行错误。调用“Microsoft Exchange 加载项”加载项时,在“IDTExtensibility2”接口回调“OnConnection”期间,Outlook 出现故障”问题
    选择排序——算法系列
    代码杂记32
    数据库系统原理
    C#中的委托与事件
    C#多线程
    冒泡排序——算法系列
    快速排序——算法系列
    递归算法——猴子吃桃
  • 原文地址:https://www.cnblogs.com/lovelyun/p/4860236.html
Copyright © 2011-2022 走看看