JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序

yizhihongxing

实现一个计算当年还剩多少时间的倒计时程序可以用 JavaScript 实现。下面是完整的攻略:

步骤

第一步:获取当前的时间

可以使用 Date() 函数获取当前时间。要获取到当前的年份,可以使用 getFullYear() 方法,获取到当前的月份,可以使用 getMonth() 方法(注意获取到的月份是从0开始计数的,需要加1),获取到当前的日期,可以使用 getDate() 方法。

const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();

第二步:计算到今年结束还剩多少时间

首先需要获取到今年年底的日期。可以使用 new Date(year, 11, 31) 创建一个新的日期对象,其中第一个参数是年份,第二个参数是月份(从0开始计数,11代表12月),第三个参数是日期(这里省略了,表示默认为1号)。

然后需要计算当前日期距离今年年底还有多少毫秒。可以使用 getTime() 方法获取到两个日期对象之间的毫秒差,然后再用 Math.abs() 方法获取绝对值。

const endOfYear = new Date(year, 11, 31);
const msLeft = Math.abs(endOfYear - date);

第三步:将毫秒差转换为天数、小时数、分钟数、秒数

可以使用以下公式将毫秒差转换为其他时间单位:

  • 1天 = 24小时 x 60分钟 x 60秒 x 1000毫秒
  • 1小时 = 60分钟 x 60秒 x 1000毫秒
  • 1分钟 = 60秒 x 1000毫秒
  • 1秒钟 = 1000毫秒
const days = Math.floor(msLeft / (24 * 60 * 60 * 1000));
const hours = Math.floor((msLeft % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000));
const minutes = Math.floor((msLeft % (60 * 60 * 1000)) / (60 * 1000));
const seconds = Math.floor((msLeft % (60 * 1000)) / 1000);

第四步:将计算结果渲染到页面上

可以创建一个 HTML 页面,添加一个倒计时区域,用 JavaScript 将计算结果渲染到该区域。

<p id="countdown"></p>
const countdown = document.getElementById('countdown');
countdown.innerHTML = `今年还剩下 ${days} 天 ${hours} 小时 ${minutes} 分钟 ${seconds} 秒`;

示例

下面是两个示例:

示例一

如果在2022年的6月15日,计算距离今年年底还有多少时间:

const date = new Date('2022-06-15');
const year = date.getFullYear();
const endOfYear = new Date(year, 11, 31);
const msLeft = Math.abs(endOfYear - date);
const days = Math.floor(msLeft / (24 * 60 * 60 * 1000));
const hours = Math.floor((msLeft % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000));
const minutes = Math.floor((msLeft % (60 * 60 * 1000)) / (60 * 1000));
const seconds = Math.floor((msLeft % (60 * 1000)) / 1000);
const countdown = document.getElementById('countdown');
countdown.innerHTML = `今年还剩下 ${days} 天 ${hours} 小时 ${minutes} 分钟 ${seconds} 秒`;

示例二

如果要计算距离2025年年底还有多少时间:

const date = new Date();
const endOfYear = new Date(2025, 11, 31);
const msLeft = Math.abs(endOfYear - date);
const days = Math.floor(msLeft / (24 * 60 * 60 * 1000));
const hours = Math.floor((msLeft % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000));
const minutes = Math.floor((msLeft % (60 * 60 * 1000)) / (60 * 1000));
const seconds = Math.floor((msLeft % (60 * 1000)) / 1000);
const countdown = document.getElementById('countdown');
countdown.innerHTML = `距离2025年年底还剩下 ${days} 天 ${hours} 小时 ${minutes} 分钟 ${seconds} 秒`;

这两个示例分别计算了不同的倒计时时间,可以根据需要修改相关的代码即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • javascript中eval函数用法分析

    JavaScript中eval函数用法分析 在 JavaScript 中,eval() 函数是一个非常有用的函数,可以用来执行字符串中的代码。本文将分析 eval() 函数的用法及其潜在的安全问题。 什么是eval函数 eval() 函数是 JavaScript 语言中的一个函数,可以将一个字符串作为代码执行。其基本语法如下: eval(string) 其中…

    JavaScript 2023年5月28日
    00
  • 关于TypeScript中import JSON的正确姿势详解

    关于TypeScript中import JSON的正确姿势详解,主要分为以下几个步骤: 步骤1:创建json文件 首先,我们需要在项目中创建一个.json文件,例如data.json,里面存放我们需要导入的JSON数据。 示例: { "name": "John Doe", "age": 30, &q…

    JavaScript 2023年5月27日
    00
  • 一文详解如何根据后端返回的url下载json文件

    下面是详细讲解如何根据后端返回的url下载json文件的完整攻略: 方式一:使用Python实现 1. 安装必要的库 首先,我们需要安装requests库,用于发送HTTP请求: pip install requests 2. 发送请求获取JSON数据 接下来,我们需要使用requests库发送HTTP请求获取JSON数据: import requests …

    JavaScript 2023年6月11日
    00
  • 一文教你彻底学会JavaScript手写防抖节流

    一文教你彻底学会JavaScript手写防抖节流 什么是防抖和节流 在介绍手写防抖节流之前,先来了解一下防抖和节流的概念: 防抖:指在短时间内多次触发同一个事件,只执行最后一次,或者只在开始时执行一次。 节流:指连续触发事件但是在 n 秒中只执行一次函数。即在某个时间段内,无论触发多少次事件,都只执行一次函数。 防抖和节流可以用来解决频繁触发的问题,避免资源…

    JavaScript 2023年6月10日
    00
  • js几个验证函数代码

    请允许我为您提供一份“JS几个验证函数代码”的完整攻略。 1. 概述 在网页开发中,往往需要在表单中添加一些数据验证功能,用于对用户输入的数据进行验证,确保数据的正确性。下面介绍几个常用的JS数据验证函数,分别对应验证电话号码、邮箱地址、以及身份证号码等。 2. 函数 2.1 验证电话号码 通过正则表达式判断输入的字符串是否为合法的电话号码,其中 ^[1][…

    JavaScript 2023年6月10日
    00
  • javascript 设计模式之组合模式原理与应用详解

    JavaScript设计模式之组合模式原理与应用详解 什么是组合模式 组合模式是一种结构型设计模式,它将对象组合成树形结构来表示“整体-部分”层次结构,让客户端能够统一地处理单个对象和对象组合。 组合模式对单个对象和组合对象的访问具有一致性,它定义了一个抽象类或接口以表示所有可被组合的对象的共同方法和属性,这个抽象类或接口可以为叶子节点和组合节点提供一个统一…

    JavaScript 2023年5月28日
    00
  • 【谷歌插件开发】获取当前网站COOKIE并上报HTTP-API

    一 背景 由于本人每天需要登录网站查看数据并分析统计汇总,而每次机械式地搜索和简单计算,十分繁琐。我们可以写个定时任务,每天根据cookie获取网站数据并遍历统计。 脚本得以成功执行的关键是需要获取到COOKIE 故,写了个谷歌插件用来上报COOKIE 二 代码总目录 三 上代码 manifest.json { “manifest_version”: 3, …

    JavaScript 2023年4月25日
    00
  • ES6学习教程之对象的扩展详解

    ES6学习教程之对象的扩展详解 概述 ES6 前,对象的属性名都是字符串。ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。ES6 引入了一种新的数据结构Map。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。ES6 引入了一种新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部