【什么是日期对象】
Date 对象是 JavaScript 原生的时间库。它以国际标准时间(UTC)1970年1月1日00:00:00作为时间
的零点,可以表示的时间范围是前后各1亿天(单位为毫秒)。Date对象保存的日期能够精确到1970年 1月1日之前或之后的285616年。1m = 1ms
一天:24 * 60 * 60 * 1000 毫秒数
【日期对象创建方式】
创建一个新 Date 对象的唯一方法是通过new操作符:
var dt=new Date();//当前时间
var dt=new Date('2020-1-1');//括号中可以传参数,设置指定时间
【将日期对象转换为字符串两个方式】
toLocaleString() 根据本地时间格式,把 Date对象转换为字符串。
var dt=new Date();//当前时间
console.log(dt.toLocaleString());//以本地的计算机格式转换为字符串
toString() 把 Date 对象转换为字符串(不用!)。
var dt=new Date();//当前时间
console.log(dt.toString());//转换字符串,没什么用(跟直接输出一样!)
【日期对象的获取方法】
valueOf 方法返回实例对象距离时间零点(1970年1月1日00:00:00 UTC)对应的毫秒数,该方法等同
于 getTime 方法。
console.log(dt.getTime());//返回1970年1月1日至今的毫秒数
console.log(dt.valueOf());//返回1970年1月1日至今的毫秒数
getFullYear() :返回年份。
getMonth() :返回月份(0~11)。
console.log(dt.getFullYear());//返回年份
console.log(dt.getMonth()+1);//返回月份(注意 0~11,要加1)
getDate() :返回对应每个月的几号。
getDay() :返回星期几(0~6)
console.log(dt.getDate());//返回某一天,就是几号
console.log(dt.getDay());//返回一周中的某一天,就是星期几(注意 0~6)
getHours() :返回小时。
getMinutes() :返回分钟。
console.log(dt.getHours());//返回小时
console.log(dt.getMinutes());//返回分钟
getSeconds() :返回秒。
getMilliseconds() :返回毫秒。
console.log(dt.getSeconds());//返回秒数
console.log(dt.getMilliseconds());//返回毫秒
【 日期对象的设置方法】
setTime() 方法以毫秒数为来为 Date 对象设置时间
var dt = new Date();
dt.setTime(10000);//以毫秒设置Date对象
console.log(dt.toLocaleString());
setFullYear() 设置年份。
var dt = new Date();
dt.setFullYear(2000);//设置对象中的年份
console.log(dt.toLocaleString());
setMonth() :设置月份(0~11)
var dt = new Date();
dt.setMonth(11);//设置月份(0~11)
console.log(dt.toLocaleString())
setDate() :设置几号。
var dt = new Date();
dt.setDate(20);//设置某一天(1~31)
console.log(dt.toLocaleString());
setHours() :设置小时。
var dt = new Date();
dt.setHours(10);//设置小时
console.log(dt.toLocaleString());
setMinutes() :设置分钟。
var dt = new Date();
dt.setMinutes(30);//设置分钟
console.log(dt.toLocaleString());
setSeconds() :设置秒。
var dt = new Date();
dt.setSeconds(30);//设置秒数
console.log(dt.toLocaleString());
setMilliseconds() :设置毫秒。
var dt = new Date();
dt.setMilliseconds(500);//设置毫秒
console.log(dt.toLocaleString());
计算你活了多久
var dt = new Date();
var nowDt = new Date('2000 01 01 01:00:00');
var num = dt - nowDt;//求两个日期之间的差值
var days = parseInt(num / (24 * 60 * 60 * 1000));
console.log('一共活了'+days+'天');
【定时器(间歇调用和超时调用以及清除)】
setTimeout(函数, 毫秒数) 在等待指定的毫秒数后执行函数。!只执行一次
setTimeout(function () {//超时调用
alert('你好!');
},1000)// 过1秒后,弹出小弹框,之后不在执行
clearTimeout() 方法停止执行 setTimeout() 中规定的函数
var timeId = setTimeout(function, milliseconds); //把定时器的返回值保存起来
clearTimeout(timeId);//清除相应的定时器
setInterval(函数, 毫秒数) 方法在每个给定的时间间隔重复给定的函数。!重复执行,如果不清除,一直执行
setInterval(function () {//间歇调用
alert('你好!');
},1000)// 每过1秒,就弹出小弹框
clearInterval() 方法停止 setInterval() 方法中指定的函数的执行。
var timeId = setInterval(function, milliseconds); //把定时器的返回值保存起来
clearInterval(timeId);//清除相应的定时器
【案例👇距离双十一活动开始倒计时】
<div id="dv">计时</div>
<script>
var dv = document.getElementById('dv');
setInterval(function () {
var d1 = new Date();
var d2 = new Date('2020 11 11 00:00:00');
var nums = d2 - d1;//计算两个日期之间的差值,结果是毫秒数
var days = parseInt(nums / (24 * 60 * 60 * 1000));//天数
var hour = parseInt(nums / (60 * 60 * 1000)) % 24;//小时
var minutes = parseInt(nums / (60 * 1000)) % 60;//分钟
var second = parseInt(nums / (1000)) % 60;//秒
dv.innerText = days +'天'+ hour +'小时'+ minutes +'分'+ second +'秒';
}, 1000);//每过1秒,更新一次
</script>
【倒计时10个数发射】
<div id="dv"></div>
<script>
var num = 10;
var dv = document.getElementById('dv');
dv.innerText = num;
var timeId = setInterval(function () {
num--;
if (num > 0) {
dv.innerText = num;
} else {
clearInterval(timeId);
alert('发射');
}
}, 1000);
</script>