Date对象及应用(倒计时案例)

来源:互联网 发布:知彼手机定位wo手机 编辑:程序博客网 时间:2024/05/21 22:28

Javascript中的Date对象能够表示1970年1月1日子夜前后1亿(100000000)天之内的任意日期和时间。1970年1月1日是电脑常用的参考点,被称为纪元(Epoch) 或者UNIX 时间戳 (UNIX Epoch)。
1.声明日期,得到从UNIX时间戳起得毫秒数

 var date  = new Date();  // 声明 console.log(date.getTime());  // 提倡使用的 console.log(date.valueOf()); // 直接使用 console.log(Date.now()); console.log(+new Date());

Date()构造函数能够接受的常用的日期格式有:
”月/日/年“,如2/27/2014;
”英文月名 日,年“,如February 27,2014;
”年,月,日,时,分,秒,毫秒“,如2014,1,27,11,22,22

var date1=new Date("10/14/2016"); console.log(date1); //Fri Oct 14 2016 00:00:00 GMT+0800var date2=new Date("October 14,2016");console.log(date2); //Fri Oct 14 2016 00:00:00 GMT+0800var date3=new Date(2016,10,14,21,20,0);console.log(date3); // Mon Nov 14 2016 21:20:00 GMT+0800var date4=new Date(2016,10,14);console.log(date4); //Mon Nov 14 2016 00:00:00 GMT+0800var date5=new Date("2016,10,14,21,20,0");console.log(date5); //Invalid Date

2.获取日期和时间
getDate() 获取日 1-31
getDay () 获取星期 0-6
getMonth () 获取月 0-11 所以加1
getFullYear () 获取完整年份(浏览器都支持)
getHours () 获取小时 0-23
getMinutes () 获取分钟 0-59
getSeconds () 获取秒 0-59
getMilliseconds () 获取当前的毫秒
getTime () 返回累计毫秒数(从1970/1/1午夜)
3.倒计时案例

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>        <style type="text/css">            body{                font-size: 30px;                text-align: center;                color:red;            }        </style>        <script>            window.onload = function(){                var demo = document.getElementById("demo");                var endTime = new Date("2016/11/11,11:11:11");                var timer = null;                timer = setInterval(clock,1000);                function clock(){                    // 获取最新的时间                    var newTime = new Date();                    // 取整 获取相差的秒数                    var seconds = parseInt((endTime.getTime() - newTime.getTime())/1000);                    // 获取天数,一分钟60s,一小时3600s,一天3600*24s                    var d = parseInt(seconds/3600/24);//天数                    var h = parseInt(seconds/3600%24);// 获取小时                    var m = parseInt((seconds/60)%60);                    var s = parseInt(seconds%60);                    d<10 ? d="0"+d : d;                    h<10 ? h="0"+h : h;                    m<10 ? m="0"+m : m;                    s<10 ? s="0"+s : s;                    demo.innerHTML = "距离抢购时间还剩: "+d+"天 "+h+"小时 "+m+"分钟 "+s+"秒";                    if (seconds <=0) {                        demo.innerHTML = "抢购已结束";                        clearInterval(timer);                    }                }            }        </script>    </head>    <body>        <div id="demo"></div>    </body></html>
0 0