Date 对象的创建
JavaScript 的时间是由世界标准时间(UTC)1970 年 1 月 1 日开始,用毫秒计时
构造函数
代码语言:javascript复制new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
value
代表自 1970 年 1 月 1 日 00:00:00 (世界标准时间) 起经过的毫秒数
dateString
表示日期的字符串值
year
代表年份的整数值。为了避免2000年问题最好指定4位数的年份; 使用 1998, 而不要用 98
month
代表月份的整数值从0(1月)到11(12月)
day
代表一个月中的第几天的整数值,从1开始
hour
代表一天中的小时数的整数值 (24小时制)
minute
分钟数
second
秒数
millisecond
表示时间的毫秒部分的整数值
注释:如果没有输入任何参数,则 Date 的构造器会依据系统设置的当前时间来创建一个 Date 对象
Date 对象内置的方法
代码语言:javascript复制new Date().getTime();
返回 1970 年 1 月 1 日午夜与 Date 对象中的时间值之间的毫秒数,时间戳
代码语言:javascript复制date.getFullYear(); //获取 Date 对象中的年份值
date.getMonth(); //获取 Date 对象中的月份值
date.getDate(); //获取 Date 对象中的一个月的第几天
date.getDay(); //获取 Date 对象中的星期数,0 表示是星期天,6 表示是星期六
date.getHours(); //获取 Date 对象中的小时值
date.getMinutes(); //获取 Date 对象中的分钟值
date.getSeconds(); //获取 Date 对象中的秒数值
模拟时钟 Demo
html
部分
<div id="box">
<span id="timer">xx:xx:xx</span>
<span id="dater">XX年XX月XX日 星期X</span>
</div>
js
部分
function clock() {
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth();
var date = d.getDate();
var day = d.getDay();
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();
var dayStr = "日一二三四五六";
//如果小于10的,前面补上 "0"
hours = (hours < 10) ? ("0" hours) : hours;
minutes = (minutes < 10) ? ("0" minutes) : minutes;
seconds = (seconds < 10) ? ("0" seconds) : seconds;
document.getElementById("timer")
.innerHTML = hours ":" minutes ":" seconds;
document.getElementById("dater")
.innerHTML = year "年" (month 1) "月" date "日 星期" dayStr.split("")[day];
}
clock(); //先运行一次
setInterval(clock,1000);
倒计时 Demo
html
部分
距离2017年五一劳动节还有:0天0时0分0秒
js
部分
var targetTime = new Date("2017-5-1");
function clock() {
var nowTime = new Date();
deltaTime = targetTime - nowTime; //隐式转换,得到时间差
var days = parseInt(deltaTime/1000/60/60/24);
var hours = parseInt(deltaTime/1000/60/60 % 24);
var minutes = parseInt(deltaTime/1000/60 % 60);
var seconds = parseInt(deltaTime/1000 % 60);
document.body.innerHTML = "距离2017年五一劳动节还有:" days "天" hours "时" minutes "分" seconds "秒";
}
clock();
setInterval(clock,1000);