全新正版营销网站今日头条网页版
基础知识
1.时间对象的使用
1.1 实例化
要获取一个时间首先需要一个关键词new了实例化
const time = new Date()
如果是获取具体的具体的时间
const time = new Date('2024-6-1 16:06:44')
1.2 日期对象方法
方法 | 作用 | 说明 |
getFullYear() | 获得年份 | 获得4位年份 |
getMonth() | 获得月份 | 取值为0-11 |
getDate() | 获得月份的每一天 | 不同月份的值也不相同 |
getDay() | 获得星期 | 取值为0-6 |
getHours() | 获得小时 | 取值为0-23 |
getMinutes() | 获得分钟 | 取值为0-59 |
getSeconds() | 获得秒 | 取值为0-59 |
使用如下:
<script>const div = document.querySelector('div')function getmytime() {const date = new Date()let year = date.getFullYear() let month = date.getMonth()+1let day = date.getDay()return `今天是${year}-${month}—${day}`}div.innerHTML = getmytime()</script>
2.时间戳的使用
时间戳的使用分为3种方法
使用 getTime()方法实现
const date = new Date()
console.log(date.getTime())
使用 +new Date()
console.log(+new Date())
Date.now(),但是不可以返回时间戳
console.log(Date.now())
下面是一个简单的案例,实现星期几的表达
// 根据时间Day() 0-6返回天数,设置一个数组,可以返回天数const arr = ['星期天','星期一','星期二','星期三','星期四','星期五','星期六']console.log(arr[new Date().getDay()])
到了重点部分,我们现在来使用时间戳的方法去实现倒计时(重点部分看到js的部分)
思路讲解:
第一步:需要获取当前的时间戳(now)和未来你需要使用的时间戳(last)
第二步:计算出2个时间戳之间的时间间距,由于他是以毫秒计算出来,我们需要去除以1000转化为一秒来显示
第三步:进行事件的转换,计算出天数,小时,分钟,秒
d = parseInt(count / 60 / 60 / 24) //计算天数
h = parseInt(总秒数 / 60 / 60 % 24) // 计算小时
m = parseInt(总秒数 / 60 % 60); // 计算分数
s = parseInt(总秒数 % 60); //计算秒数
第四步:获取对应的元素,然后将第三步里面计算出来的东西写入到获取到的元素里面
第五步:将去上面几个步骤全部封装到一个函数里面
第六步:首先先调用一次函数,这样在我们打开html的时候就会首先更新到当前的内容
第七步:使用时间定时器,买1秒更新一次,这样就实现了自动记时
代码如下(请去实践,不要直接使用,需要有自己的思维):
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>.countdown {margin: auto;width: 400px;height: 305px;text-align: center;line-height: 1;color: #fff;background-color: brown;/* background-size: 240px; *//* float: left; */overflow: hidden;}.countdown .next {font-size: 16px;margin: 25px 0 14px;}.countdown .title {font-size: 33px;}.countdown .tips {margin-top: 80px;font-size: 23px;}.countdown small {font-size: 17px;}.countdown .clock {width: 300px;margin: 18px auto 0;overflow: hidden;}.countdown .clock span,.countdown .clock i {display: block;text-align: center;line-height: 34px;font-size: 23px;float: left;}.countdown .clock span {width: 60px;height: 34px;border-radius: 2px;background-color: #303430;}.countdown .clock i {width: 20px;font-style: normal;}</style>
</head><body><div class="countdown"><p class="next">今天是2222年2月22日</p><p class="title">毕业倒计时</p><p class="clock"><span id="day">00</span><i>:</i><span id="hour">00</span><i>:</i><span id="minutes">25</span><i>:</i><span id="scond">20</span></p><p class="tips">2027-7-1 00:00:00你就毕业了</p></div><script>//函数封装function getCountTime() {//1. 获得当前时间const now = +new Date()//2. 获得未来时间const last = +new Date('2027-9-1 00:00:00')//3.计算之间的时间距离const count = (last - now) / 1000console.log(count)// 4.时间转换// h = parseInt(总秒数 / 60 / 60 % 24) // 计算小时// // m = parseInt(总秒数 / 60 % 60); // 计算分数// // s = parseInt(总秒数 % 60); let d = parseInt(count / 60 / 60 / 24) //天数d = d < 10 ? '0' + d : dlet h = parseInt(count / 60 / 60 % 24) //小时h = h < 10 ? '0' + h : hlet m = parseInt(count / 60 % 60) //分钟m = m < 10 ? '0' + m : mlet s = parseInt(count % 60) //秒s = s < 10 ? '0' + s : sconsole.log(d,h,m,s)//5.获取对应的标签const day = document.querySelector('#day')const hour = document.querySelector('#hour')const minutes = document.querySelector('#minutes')const scond = document.querySelector('#scond')day.innerHTML = dhour.innerHTML = hminutes.innerHTML = mscond.innerHTML = s//获取元素const nows = document.querySelector('.next')const date = new Datelet hh = date.getFullYear()let mm = date.getMonth()let dd = date.getDay()nows.innerHTML = `今天是${hh}年${mm}月${dd}日`}//先调用一次getCountTime()//使用时间定时器setInterval(getCountTime, 1000)</script>
</body></html>
我们的倒计时小案例完成,如有其它更好的方法评论区留言交流!!!