首页 > 其他分享 >倒计时的实现

倒计时的实现

时间:2023-04-25 13:35:27浏览次数:34  
标签:60 实现 倒计时 seconds let time day Math

关于倒计时的实现:

首先是按照自己的逻辑实现的代码:

    <style>
      div {
        width: 100%;
        margin: 0 auto;
      }
      p {
        text-align: center;
        font-size: 40px;
      }
    </style>

  <body>
    <div>
      <p id="text"></p>
    </div>
    <script>
      //定时器放在最外层
      setInterval(function () {
        var fTime = new Date(2023, 3, 28, 17, 0, 0); // 输入要计算的时间
        var nTime = new Date(); // 当前计算机时间
        function getDiff(fTime, nTime) {
          let futureTime = fTime.getTime(); //获取两时间节点时间戳
          let nowTime = nTime.getTime();
          //计算得到相差秒数,并将毫秒转化为秒
          let remainingTime = Math.ceil((futureTime - nowTime) / 1000);
          //开始换算时间戳
          let day = Math.floor(remainingTime / (24 * 60 * 60));
          let hours = Math.floor((remainingTime % (24 * 60 * 60)) / (60 * 60));
          let minutes = Math.floor((remainingTime % (60 * 60)) / 60);
          let seconds = remainingTime % 60;

          return { day: day, hours: hours, minutes: minutes, seconds: seconds };
        }
        let {
          day: day,
          hours: hours,
          minutes: minutes,
          seconds: seconds,
        } = getDiff(fTime, nTime);

        let text1 = document.getElementById("text");

        text1.innerText = `距离五一还有${day}天${hours}小时${minutes}分${seconds}秒`;
      }, 1000);
    </script>

下面是请教朋友的代码

    <script>
      const laborDayTime = new Date("5 1,2023").getTime();
      setInterval(function () {
        let nowDayTime = new Date().getTime();
        let remainingTime = getRemainingTime(laborDayTime - nowDayTime);
        console.log(`距离距离五一还有:${remainingTime}`);
      }, 1000);

      function getRemainingTime(time) {
        let day = getDateTimeDay(time);
        let hours = getDateTimeHour(time);
        let minutes = getDateTimeMinute(time);
        let seconds = getDateTimeSecond(time);
        return `${day}天${hours}小时${minutes}分${seconds}秒`;
      }
      function getDateTimeSecond(time) {
        return Math.floor(time / 1000) % 60;
      }
      function getDateTimeMinute(time) {
        return Math.floor((time / (60 * 1000)) % 60);
      }
      function getDateTimeHour(time) {
        return Math.floor((time / (60 * 60 * 1000)) % 24);
      }
      function getDateTimeDay(time) {
        return Math.floor(time / (24 * 60 * 60 * 1000));
      }
    </script>

最后了解了moment.js的某些运用

标签:60,实现,倒计时,seconds,let,time,day,Math
From: https://www.cnblogs.com/zerotwo-zrx/p/17352326.html

相关文章

  • GB/T28181-2022相对2016版“基于TCP协议的视音频媒体传输要求“规范解读和技术实现
    规范解读GB/T28181-2022和GB/T28181-2016规范,有这么一条“更改了附录D基于TCP协议的视音频媒体传输要求(见附录D,2016年版的附录L)。”。本文主要是针对GB/T28181-2022里面提到的“基于TCP协议的视音频媒体传输要求”做相应的接口适配,在此之前,我们先回顾下规范里面针对这部分......
  • Sentinel为什么这么强,我扒了扒背后的实现原理
    大家好,我是三友~~最近我在整理代码仓库的时候突然发现了被尘封了接近两年之久的Sentinel源码库两年前我出于好奇心扒了一下Sentinel的源码,但是由于Sentinel本身源码并不复杂,在简单扒了扒之后几乎就再没扒过了那么既然现在又让我看到了,所以我准备再来好好地扒一扒,然后顺带写篇文......
  • pystinger实现不出网情况下,上线CS的方式
    某hw过程中遇到如下情况:获取到webshell,目标服务器不出网目标机:内网地址,端口映射到公网ipvps:pystinger地址:https://github.com/FunnyWolf/pystingerpython3-mpipinstall-rrequirement.txt目标机操作:1、proxy.jsp上传到目标服务器,确保http://exampl......
  • ueditor 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>......
  • 基于JQuery实现业务流图
    最近接手了一个需求,需要将一个业务流中各个系统间交互信息用时间轴方式(设计原型我觉得是基于时间轴)展现出来,正常交互的接口圆点为绿色,未交互的接口圆点为灰色,交互异常的接口圆点为红色,且圆点不仅要展示接口名称,还要请求和响应时间,并且时间后面要跟着可点击链接,在业务流图右边展示......
  • Linux VFS中write系统调用实现原理
    目录用户空间的write函数在内核里面的服务例程为sys_write.1Vfs_write函数实现原理...2 WORD里面的目录复制过来似乎不能直接用。。还是放在这里当主线看吧..用户空间的write函数在内核里面的服务例程为sys_writeroot@syslab~]#grepwrite/usr/include/asm/unistd......
  • Nginx实现流量复制
    1、简介Nginx自1.13.4开始引入nginx_mirror_module模块,利用此模块可以将线上实时流量镜像至其他环境,而Nginx最终会丢弃mirror的响应,从而不影响源站请求的响应。2、配置upstreambackend{serverbackend.server:10000;}upstreamtest_backend{servertest.server:......
  • [AHK]倒计时牌(高考还有多少天这类的)
    ;DaysLeft.ahk;Authorsnwind/*[config]DateTarget=20151204000000DateFrom=20151106000000*/;~#SingleInstance,force;~ListLines,OnFormatTime,today,,yyyyMMddIniRead,DateTarget,%A_ScriptFullPath%,config,DateTarge......
  • 【HarmonyOS】自定义组件之JavaUI实现通用标题栏组件
    【关键字】标题栏、常用内置组件整合、JavaUI、自定义组件 【1、写在前面】平时我们在开发一个应用时,我们都知道一个完整的项目中会有很多个页面,而这些页面中会有许多通用的部分,比如通用标题栏、通用Dialog、通用下拉菜单等等,在Android开发中我们可以通过LayoutInflater.from......
  • 百度ueditor 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接......