日期对象
new Date()—创建日期(一)
var d = new Date(); // 创建一个日期格式
console.log(d); // Fri Jun 12 2020 14:26:35 GMT+0800 (中国标准时间)
new Date(年,月,日,时,分,秒)—创建日期(二)
var d = new Date(2019,10,22,15,32,12); // 创建一个日期格式
console.log(d); // Fri Nov 22 2019 15:32:12 GMT+0800 (中国标准时间)
new Date(“年-月-日 时:分:秒”)—创建日期(三)
var d = new Date(2019-10-22 15:32:12); // 创建一个日期格式
console.log(d); // Tue Oct 22 2019 15:32:12 GMT+0800 (中国标准时间)
new Date(毫秒数)—创建日期(四)
var d = new Date(1523546461213); // 创建一个日期格式
console.log(d); // Thu Apr 12 2018 23:21:01 GMT+0800 (中国标准时间)
toLocaleString()—转换为本地日期格式
var d = new Date(); // 创建一个日期格式
console.log(d.toLocaleString()); // 2020/6/12 下午2:29:05
new Date() - new Date()—相减得到时间差,单位毫秒
var nowD = new Date(); // 获取当前日期(都是电脑的)
var weiD = new Date("2020-10-01");
var cD = weiD - nowD;
console.log(cD); // 9560143958 ms(毫秒)
综合案例—动态显示日期
- 动态显示日期,每隔一秒刷新当前时间
// html 内容
<div id="date"></div>
// js 内容
setInterval(function() {
var d = new Date(); // 创建一个日期对象
date.innerHTML = d.toLocaleString();
// 日期转换为本地字符串
// innerHTML 设置id为date的div的内容
},1000)
// 每隔1000毫秒,也就是1秒,刷新一次
getFullYear()—获取年份
var d = new Date() // 创建时间对象
var y = d.getFullYear(); // 获取年份
getMonth() + 1—获取月份
- 因为月份是从0-11的所以需要+1
var d = new Date() // 创建时间对象
var m = d.getMonth() + 1; // 获取当前月份
getDate()—获取日期
var d = new Date() // 创建时间对象
var D = d.getDate(); // 获取日期
getHours()—获取小时
var d = new Date() // 创建时间对象
var h = d.getHours(); // 获取小时
getMinutes()—获取分钟
var d = new Date() // 创建时间对象
var f = d.getMinutes(); // 获取分钟
getSeconds()—获取秒
var d = new Date() // 创建时间对象
var s = d.getSeconds(); // 获取秒
getTime()—返回1970.01.01到现在的时间的毫秒数
var d = new Date(2019,10,22,15,32,12) // 创建时间对象
var s = d.getTime(); // 1571729532000 ---2019年10月22日15时32分12秒-1970.01.01 的毫秒数
自定义—格式化时间
console.log(`${y}年${m}月${D}日 ${h}时${f}分${s}秒`) // 2020年6月10日 14时22分32秒
综合案例—倒计时
// html 内容
<div id="dates"></div>
// 从现在到10.1 倒计时多长时间 js部分
function countDown(time) {
var nowD = new Date() // 当前时间
var fuD = new Date(time); // 获取传来的参数
var dis = fuD - nowD;
if(dis <= 0) {
date.innerHTML = "倒计时结束";
return; // 判断秒数,如果秒数归零,则函数停止,不在倒计时
}
var second = Math.floor(dis / 1000); // 相差时间的秒数
var day = Math.floor(second /( 60 * 60 * 24)); // 相差的天数
second %= (60 * 60 * 24); // 除去天数的秒数,得到小时,与分钟的秒数
var hour = Math.floor(second / (60 * 60)); // 获取相差的小时数
second %= (60 * 60); // 再除去相差的小时数,得到分钟数的秒数
var minute = Math.floor(second / 60) // 获取相差的分钟数
second %= 60; // 除去分钟数,得到秒
// 打印
console.log(day,hour,minute,second);
hour = pre(hour);
minute = pre(minute);
second = pre(second);
var str = `${day}天${hour}:${minute}:${second}`;
dates.innerHTML = str;
setTimeout(function() {
countDown(time) // 调用自己每隔一秒
},1000);
}
countDowm("2020-10-01");
// 数据小于0时自动补零
function pre(n) {
return n = n > 9 ? n : "0" + n;
}
// 数据小于0时自动补零
function pre(n) {
return n = n > 9 ? n : "0" + n;
}