当前位置: 首页 > news >正文

JS实现页面实时时间显示/倒计时

函数介绍

间歇函数

setInterval(函数/可使用匿名函数,间隔时间/ms)每过一段间隔时间,调用一次函数

获取时间对象函数 

//返回的是调用当前时间对象,包含年月日星期,小时分钟秒
const date1=new Date()
//返回的是调用当前时间对象转化为毫秒形式的时间戳
const date2=+new Date()

一、页面实时时间

思路:

  1. 最外层:间歇函数每秒钟将时间显示函数的返回值写入页面
  2. 中层:时间显示函数实时获取当前时间,并转换为可读时间
  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 class="box"></div><script>//获取对象const div=document.querySelector('div')function formdate() {//获取时间const date = new Date();let year = date.getFullYear()//校准时间let month = date.getMonth() + 1let Day = date.getDay()let dates = date.getDate() + 1let hours = date.getHours()let minues = date.getMinutes()let second = date.getSeconds()return `${year}年-${getzero(month)}月-${getzero(dates)}日 ${getzero(hours)}:${getzero(minues)}:${getzero(second)} `}//补零函数function getzero(str) {return str<10?'0' + str:str}//间歇函数div.innerHTML = formdate()setInterval(function () { div.innerHTML = formdate() }, 1000)</script>
</body></html>

二、倒计时

思路

        通过时间戳转换成毫秒差,从而换算

代码:

<!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>//获取时间戳const end = + new Date('2025-07-30 08:00:00')//时间戳单位是毫秒const div = document.querySelector('div')function counton() {const now = +new Date()const count = (end - now) / 1000let date = parseInt(count / 60 / 60 / 24)let hour = parseInt(count / 60 / 60 % 24)let minute = parseInt(count / 60 % 60)let second = parseInt(count % 60)return `剩余${date}天${hour}小时${minute}分钟${second}秒`}div.innerHTML = counton()setInterval(function () {div.innerHTML = counton()}, 1000)</script>
</body></html>

注意点:

  1. 功能函数的返回值
  2. 内容涉及变量需要使用反引号
  3. 调用函数的层级关系:间歇-写入网页-功能函数-除零
  4. 由于需要实时更新,所以获取时间/时间戳的函数要写在间歇函数内层(功能函数中),否则时间的获取无法正确更新
http://www.lryc.cn/news/583934.html

相关文章:

  • Java 大视界 -- Java 大数据在智能交通智能停车诱导与车位共享中的应用(341)
  • selenium跳转到新页面时如何进行定位
  • 编写bat文件自动打开chrome浏览器,并通过selenium抓取浏览器操作chrome
  • 如何使用Java WebSocket API实现客户端和服务器端的通信?
  • Language Models are Few-Shot Learners: 开箱即用的GPT-3(二)
  • Android 应用常见安全问题
  • Windows Edge 播放 H.265 视频指南
  • 多模态大语言模型arxiv论文略读(156)
  • 论文阅读笔记:VI-Net: Boosting Category-level 6D Object Pose Estimation
  • web前端面试笔记
  • 微软365 PDF导出功能存在本地文件包含漏洞,可泄露敏感服务器数据
  • C#集合:从基础到进阶的全面解析
  • qemu vcpu的创建过程
  • Debian-10编译安装Mysql-5.7.44 笔记250706
  • Windows 11 安装过程中跳过微软账户创建本地账户
  • 深度学习_全连接神经网络
  • 深入理解Java虚拟机:Java内存区域与内存溢出异常
  • Linux 操作系统如何实现软硬件解耦?从容器与硬件接口封装谈起
  • 数字孪生技术引领UI前端设计新趋势:增强现实与虚拟现实的融合应用
  • 计算机学科专业基础综合(408)四门核心课程的知识点总结
  • Docker高级管理--容器通信技术与数据持久化
  • 从零开始搭建深度学习大厦系列-3.卷积神经网络基础(5-9)
  • 【网络编程】 TCP 协议栈的知识汇总
  • 【运维实战】解决 K8s 节点无法拉取 pause:3.6 镜像导致 API Server 启动失败的问题
  • Spring boot整合dubbo+zookeeper
  • IDEA 安装AI代码助手GitHub Copilot和简单使用体验
  • 【科研绘图系列】R语言探索生物多样性与地理分布的可视化之旅
  • Jekyll + Chirpy + GitHub Pages 搭建博客
  • 微服务架构的演进:迈向云原生——Java技术栈的实践之路
  • 基于springboot的美食文化和旅游推广系统