首页 > 其他分享 >【Web API DOM10】日期(时间)对象

【Web API DOM10】日期(时间)对象

时间:2024-06-06 09:29:16浏览次数:12  
标签:Web DOM10 const countdown 60 Date API date 秒数

一:实例化

1 获取系统当前时间即创建日期对象

const date = new Date()
console.log(date)

2024年6月5日周三 

2 获取指定的时间

以获取2025年6月29日为例

const date = new Date('2025-6-29')
console.log(date)

二:日期对象方法

1 使用场景:

日期对象返回数据如上图,无法直接使用;因此要利用日期对象方法,转化成可以使用的格式

2 具体方法如下:

注:

getDay()中,星期天是数字0,而不是7

getMonth(),获取的月份要加1,才是正常月份显示

3 显示当前时间案例

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div></div>
  <script>
    function getDate() {
      const date = new Date()
      let h = date.getHours()
      let m = date.getMinutes()
      let s = date.getSeconds()
      h = h < 10 ? 0 + h : h
      m = m < 10 ? 0 + m : m
      s = s < 10 ? 0 + s : s
      return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDay()} ${h}:${m}:${s}`
    }
    const div = document.querySelector('div')
    //避免页面刷新,留下的空白
    div.innerHTML = getDate()
    setInterval(function () {
      div.innerHTML = getDate()
    }, 1000)
  </script>
</body>

</html>

三:时间戳

 1 什么是时间戳

指1970年01月01日00时00分00秒起至现在的毫秒数,它是一种特殊的计量时间的方式

最典型的应用场景:倒计时计算

2 倒计时算法

将来时间戳-现在时间戳 = 剩余时间毫秒数

剩余时间毫秒数 转换为 剩余时间的年月日时分秒 就是倒计时时间

3 获取时间戳的方式

1 const date = new Date()
date.getTime()
2 +new Date()
//既可以返回当前的时间戳,也可以返回指定时间的时间戳
3 Date.now()
//只能得到当前的时间戳,而且前面两种可以返回指定时间的时间戳

四:案例倒计时效果

案例分析

思路:

倒计时算法

注意点:

1 通过时间戳得到的是毫秒,需要转换为秒在计算

2 转换公式:

d = parseInt(总秒数/60/60/24)//天数

h = parseInt(总秒数/60/60%24)//小时

m = parseInt(总秒数/60%60)//分数

s = parseInt(总秒数%60)//当前秒数

3 setInterval(函数名,秒数)

函数名不加小括号

样式:

代码:

<!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 {
      width: 240px;
      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: 142px;
      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: 34px;
      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="hour">00</span>
      <i>:</i>
      <span id="minutes">25</span>
      <i>:</i>
      <span id="second">20</span>
    </p>
    <p class="tips">18:30:00下课</p>
  </div>
  <script>

    function getTime() {
      //得到当前时间戳
      const now = +new Date()
      //得到将来时间戳
      const future = +new Date("2024-6-5 21:00:00")
      // console.log(now, future);
      const sy = (future - now) / 1000
      let h = parseInt(sy / 60 / 60 % 24)//小时

      let m = parseInt(sy / 60 % 60)//分数

      let s = parseInt(sy % 60)//当前秒数
      h = h >= 10 ? h : '0' + h
      m = m >= 10 ? m : '0' + m
      s = s >= 10 ? s : '0' + s
      document.querySelector('#hour').innerHTML = h
      document.querySelector('#minutes').innerHTML = m
      document.querySelector('#second').innerHTML = s
    }
    //避免页面存在数字影响
    getTime()
    //定时器中函数不加小括号,只写函数名
    setInterval(getTime, 1000)
  </script>
</body>

</html>

标签:Web,DOM10,const,countdown,60,Date,API,date,秒数
From: https://blog.csdn.net/qq_67896626/article/details/139476440

相关文章

  • 强!推荐一款开源接口自动化测试平台:AutoMeter-API !
    在当今软件开发的快速迭代中,接口自动化测试已成为确保代码质量和服务稳定性的关键步骤。随着微服务架构和分布式系统的广泛应用,对接口自动化测试平台的需求也日益增长。今天,我将为大家推荐一款强大的开源接口自动化测试平台:AutoMeter-API。1、介绍AutoMeter-API是一款专为测......
  • WebApi过滤器初学习
    WebApi过滤器AuthorizationFilters//权限验证ResourceFilters//资源验证常被用于缓存ModelBinding//模型绑定ActionFilters//行为常被用于模型验证和日志记录ExceptionFilters//异常处理常被用于错误日志ResultFilters//结果验证用于三种......
  • web 关于CSS
    我主要将两个好理解的:1这个代码是直接写在html里的,这个是不安全的。还有这个是在<head>标签下的。<styletype="text/css">body{background-image:url('images/background2.jpeg');background-size:cover;line-height:2;}.center-text{text-align:......
  • api是什么意思?
    api是什么意思API(ApplicationProgrammingInterface)的全称是应用程序编程接口,它是一种允许不同软件应用程序之间进行交互和通信的机制。API通常以网络请求的形式出现,通过预定义的函数和协议,使得开发人员能够访问和操作软件系统的某些功能或数据,而无需了解其内部工作机制的细节。......
  • Vue 3 Composition API与Hooks模式
    Vue3的CompositionAPI引入了Hook函数的概念,这是一种更加模块化和可重用的状态管理和逻辑组织方式。自定义Hook首先,我们创建一个自定义Hook,例如useCounter,它封装了计数器的逻辑://useCounter.jsimport{ref}from'vue';exportfunctionuseCounter(){c......
  • 最新OpenAI免费API-openai api key获取方式
    最近又开始准备LLM应用开发,要用到apikey,才发现过我之前免费发放的额度没了!我都没咋用过,痛心......
  • 【compshare】(3):使用UCloud(优刻得)的compshare算力平台,新增加SD-webui和大模型镜像,可
    关于UCloud(优刻得)旗下的compshare算力共享平台https://www.ucloud.cn/UCloud(优刻得)是中国知名的中立云计算服务商,科创板上市(股票代码:688158),中国云计算第一股,专注于提供可靠的企业级云服务,包括云服务器、云主机、云数据库、混合云、CDN、人工智能等服务。compshare......
  • JavaWeb_MySQL数据库
    数据库:MySQL数据模型:    MySQL是关系型数据库。SQL:简介分类:数据库设计-DDL对数据库操作:表操作:小练习:    创建下表SQL代码:createtabletb_user(idintprimarykeyauto_incrementcomment'ID,唯一标识',usernameva......
  • Flask Web开发基础:数据库与ORM实战
    FlaskWeb开发基础:数据库与ORM实战该文介绍了如何使用Flask、SQLAlchemy和SQLite实现数据库操作。首先,通过创建虚拟环境和安装flask-sqlalchemy(版本2.5.1)及sqlalchemy(版本1.4.47)来设置环境。接着,配置数据库URI,定义User和Movie模型类表示数据库表,并通过db.create_all......
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk
    [CISCN2019华北赛区Day1Web5]CyberPunk在源代码中发现提示可能存在文件包含,并且还有search.php,change.php,delete.php这三个文件,通过php伪协议进行读取?file=php://filter/convert.base64-encode/resource=index.php?file=php://filter/convert.base64-encode/resource=sear......