ECMAscript中的Date类型是在java的java.util.Date的基础上构建的。所以,Date类型使用以UTC(国际协调时间)1970年1月1日0时为起点零的毫秒数保存日期。
Date()和new Date()的区别
Date()传入的不管是数字、字符串,时间格式是不是正确,返回的都是当前时间。
Date(“111”), Date(1995/06/03), Date(520);//Tue Sep 27 2016 23:40:11 GMT+0800 (CST)
new Date();//Tue Sep 27 2016 23:40:11 GMT+0800 (CST) new Date(1995,06,03,17,55,55);//Mon Jul 03 1995 17:55:55 GMT+0800 (CST) new Date(“1sss”);//Invalid Date
根据传入的参数返回,无参数是返回当前时间,有格式正确的返回相应的时间,如果格式不对就返回Invalid Date。这里的Date.parse()和Date.UTC()在此先不介绍。
常用的日期/时间组件方法
getFullYear();//取得四位数的年份 getMonth();//取得月份,从0开始计算,一月份是0,十二月份是11 getDate();//返回日期月份中的天数(1到31) getDay();//返回日期中的星期几(0是星期日,6是星期六) getHours();//返回日期中的小时数(0到23) getMinutes();//返回日期中的分钟数(0到59) getSeconds();//返回日期中的秒数(0到59)
显示时间案例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > show time</title > </head > <body > <script > window .onload =function ( ){ showTime (); } function check (num ){if (num<10 ){ num ="0" +num; } return num; } function showTime ( ) { var time = new Date (); var year = time.getFullYear (); var month = time.getMonth (); var day = time.getDate () + 1 ; var h = time.getHours (); var m = time.getMinutes (); var s = time.getSeconds (); m=check (m); s=check (s); h=check (h); var weekly = new Array (7 ); weekly[0 ] ="星期日" ; weekly[1 ] ="星期一" ; weekly[2 ] ="星期二" ; weekly[3 ] ="星期三" ; weekly[4 ] ="星期四" ; weekly[5 ] ="星期五" ; weekly[6 ] ="星期六" ; document .getElementById ("demo" ).innerHTML ="" +year+"年" +month+"月" +day+"日 " + weekly[time.getDay ()] +h +":" +m +":" +s; t=setTimeout ('showTime()' ,500 ); } </script > <div id ="demo" > time</div > </body > </html >
商品秒杀案例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <!DOCTYPE html > <html > <head > <meta charset ="utf-8" > <title > show time</title > <script > window .onload =function ( ){ showtime (); } function showtime ( ){ var deadline =new Date (2016 ,11 ,11 ,00 ,00 ,00 ); var start =deadline.getTime (); var now =(new Date ()).getTime (); var day = parseInt ((start- now)/(24 *60 *60 *1000 )); var m= parseInt ((start-now)/(1000 *60 )%60 );var s=parseInt ((start-now)/1000 %60 ); document .getElementById ('demo' ).innerHTML ="" +"距离双十一秒杀还有:" +day+"天" +h+"小时" +m+"分" +s+"秒" ; } setInterval (showtime,500 ); </script > </head > <body > <div id ="demo" > time</div > </body > </html >
两个案例比较简单,在代码中就不加注释。