时间对象Date
==月份单词==
January:一月 February:二月 March:三月 April:四月 May:五月 June:六月 July:七月 August:八月 September:九月 October:十月 November:十一月 December:十二月
3.1 创建时间对象
-
创建当前时间对象
<script> // 1.创建当前这一时刻的时间对象 var oDate = new Date(); console.log(oDate);// Thu Sep 01 2022 09:57:06 GMT+0800 (中国标准时间) // 2.创建每秒的时间 setInterval(function(){ var a = new Date(); // console.log(a,"现在时刻"); },1000) </script>
-
创建自定义时间
//a. 自定义的时间是一个字符串 var sDate = new Date("2023,1,1,12:00:00"); var sDate = new Date("2023 1 1 12:00:00"); var sDate = new Date("2023/1/1 12:00:00"); var sDate = new Date("2023-1-1 12:00:00"); console.log(sDate);//Sun Jan 01 2023 12:00:00 GMT+0800 (中国标准时间) //b. 时间分开接受参数 创建2023年10月1日 12:00:00的时间 // 问题 想创建10月 但是结果出来的是11月 // 分析原因: 月份是从0开始的 0-1月 10-11月 var aDate = new Date(2023,9,1,12,0,0) //想创建10月 就给9 console.log(aDate);// Sun Oct 01 2023 12:00:00 GMT+0800 (中国标准时间) var bDate = new Date(2023,9,1); console.log(bDate);// Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)
3.2 获取时间
-
获取特定格式的时间
var oDate = new Date(); // 年月日 时分秒 日期 console.log(oDate);//Thu Sep 01 2022 10:39:02 GMT+0800 (中国标准时间) // 1.获取特定格式的时间 年 月 日 console.log(oDate.toDateString());//Thu Sep 01 2022 console.log(oDate.toLocaleDateString());//2022/9/1 // 2.获取特定格式的时间 时 分 秒 console.log(oDate.toTimeString());//10:41:30 GMT+0800 (中国标准时间) console.log(oDate.toLocaleTimeString());// 10:42:02
-
获取单个时间
// 3.获取单个时间 // 年 console.log(oDate.getFullYear());//2022\ // 月 月份是从0开始 0----1月份 8----9月份 console.log(oDate.getMonth() + 1);//9 // 日 console.log(oDate.getDate());// 1 // 时 console.log(oDate.getHours()); // 分钟 console.log(oDate.getMinutes()); // 秒 console.log(oDate.getSeconds()); // 星期 ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"] console.log(oDate.getDay());//4
-
获取时间戳
// 4.获取现在的时间戳 1970年1月1日0:0:0 到现在时刻的毫秒 console.log(oDate.getTime()) // 5.获取未来时间的时间戳 1970年1月1日0:0:0 到2023年10月1日的毫秒 var sDate = new Date("2023,10,1") console.log(sDate);//Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间) console.log(sDate.getTime());//1696089600000
3.3 倒计时
-
实现思路:倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)
-
==注意==
-
1天 24 * 60 * 60 86400s
-
1时 60*60 3600s
-
1分 60 60s
-
<script> auto(); setInterval(auto, 1000) function auto() { // 1.倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位) // 创建未来时间 var futureDate = new Date("2022,9,3"); // 创建现在时间 var currentDate = new Date(); // 时间差 毫秒单位转成秒 1s = 1000ms var time = futureDate.getTime() - currentDate.getTime(); time = parseInt(time / 1000); // console.log(time);// 131680 // 将time 转为 天 时 分 秒 /* 1天 24*60*60 86400s 1时 60*60 3600s 1分 60 60s */ var t = parseInt(time / 86400); console.log(t); var h = parseInt((time % 86400) / 3600); console.log(h); var m = parseInt((time % 86400 % 3600) / 60); console.log(m); var s = time % 60; console.log(s); // 将结果显示在页面上 document.body.innerHTML = "还剩余" + suppleZero(t) + "天" + suppleZero(h) + "时" + suppleZero(m) + "分" + suppleZero(s) + "秒" } function suppleZero(num) { return num < 10 ? "0" + num : num; } </script>