利用js写一个倒计时

我们在这里写一个两小时的倒计时,且每次到点都会重新开始一次计时

话不多说,直接上代码。

 

原理:

Date.parse()会将日期时间转换为毫秒数,所以可以通过两个时间的毫秒数相减得到一个倒计时;

首先要了解Date.parse()中的值要是"2022-9-16 16:00:00"这种时间写法,或者是newDate()当前的时间点;

所以我们通过new Date.getFullYear(),new Date.getMonth()+1,new Date.getDate()来分别获取当前的年月日(注意:月份是从第0位开始算,所以得到的值要+1才是当前月份),

然后通过+拼接字符串的得到"2022-9-46"这种形式;

之后再通过new Date().getHours()获取当前的小时,因为我们写的是两小时的倒计时,所以我们在这里用三目运算符判断当计时开始后两小时后是几点,避免当14时开始倒计时,结束时间应该是16点,而到15点时,重新计时,结束时间变为17点;

现在我们年月日时间都有了,通过拼接nian+" "+shi+":00:00"来获得"2022-9-16 16:00:00"这种格式;

用Date.parse(之前拼接得到的时间)-Date.parse(new Date())就得到了两个时间的毫秒差值;

用毫秒差值进行计算,将还剩多少毫秒转换为还剩多少时多少分多少秒;

最后通过定时器来让方法重复执行,就可以得到图2的效果。

(๑•̀ㅂ•́)و✧(๑•̀ㅂ•́)و✧(๑•̀ㅂ•́)و✧(๑•̀ㅂ•́)و✧(๑•̀ㅂ•́)و✧(๑•̀ㅂ•́)و✧(๑•̀ㅂ•́)و✧

 

posted @   跟着小冯学代码  阅读(652)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示