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

实现一个计算当年还剩多少时间的倒计时程序可以用 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日

相关文章

  • js时间转换毫秒的实例代码

    JS时间转换毫秒是一个常用的功能,在前端开发中经常需要对时间进行计算,因此,掌握JS时间转换毫秒的方法是必要的。 1. Date对象的getTime()方法 在JS中,Date对象提供了一个叫做getTime()的方法,可以将日期对象转换成自1970年1月1日 00:00:00 UTC(协调世界时)以来的毫秒数。示例代码如下: var date = new …

    JavaScript 2023年5月27日
    00
  • JS常见问题之为什么点击弹出的i总是最后一个

    作为一个网站作者,我很高兴为你解答“JS常见问题之为什么点击弹出的i总是最后一个”的完整攻略。 问题描述 该问题通常出现在JS开发中,当我们为多个元素添加点击事件并在事件处理程序中弹出一些信息时,点击任何一个元素后弹出的信息都是最后一个元素的信息,但这并不是我们想要的结果。我们的目标是点击哪个元素,就弹出哪个元素的信息。 原因分析 这个问题的原因在于回调函数…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript常量定义

    下面我将详细讲解“详解JavaScript常量定义”的完整攻略。 什么是JavaScript常量 在JavaScript中,声明一个变量的方式有两种:使用var关键字声明和使用const关键字声明。其中const声明的变量就是JavaScript常量。 常量是指在程序执行过程中其值不可变的变量。一旦用const关键字声明一个变量,就不能再对它进行赋值操作,否…

    JavaScript 2023年6月11日
    00
  • JS 正则表达式用法介绍

    JS 正则表达式用法介绍 什么是正则表达式 正则表达式是一种用来匹配文本和字符串的模式。JavaScript中的正则表达式被包含在RegExp对象中,可以用来进行字符串匹配、替换、查找等操作。 正则表达式语法 在JavaScript中,正则表达式的语法被写在两个斜杠之间,例如:/pattern/flags。其中,“pattern”是表示模式字符串的正则表达式…

    JavaScript 2023年6月10日
    00
  • javascript下用ActiveXObject控件替换word书签,将内容导出到word后打印第2/2页

    需要注意的是,JavaScript使用ActiveXObject控件需要在IE浏览器环境下操作,而且需要注意安全性问题。 创建Word对象 使用ActiveXObject控件来操作Word,首先需要创建一个Word对象。可以通过以下代码来实现: var wordApp = new ActiveXObject("Word.Application&qu…

    JavaScript 2023年6月11日
    00
  • JavaScript 5 新增 Array 方法实现介绍

    JavaScript 5 新增 Array 方法实现介绍 介绍 在 ES5(即 ECMAScript 5)规范中,JavaScript 新增了多个 Array 方法,这些方法可以更加方便的进行数组的操作,提高了开发效率。本文将详细讲解这些新增数组方法的使用方法。 新增方法列表 ES5 新增的 Array 方法如下: Array.prototype.index…

    JavaScript 2023年5月27日
    00
  • Javascript 面向对象(一)(共有方法,私有方法,特权方法)

    下面是针对”Javascript 面向对象(一)(共有方法,私有方法,特权方法)”的详细讲解: 什么是面向对象编程? 面向对象编程是一种编程思想,它将数据和操作数据的行为封装在一起,形成一种对象。在面向对象编程中,对象都有自己的状态和行为,对象之间通过调用彼此的方法来进行协作完成任务。 在Javascript中,可以使用对象字面量或者构造函数创建对象。对象字…

    JavaScript 2023年5月27日
    00
  • 利用JQUERY实现多个AJAX请求等待的实例

    当我们需要向服务器发送多个异步请求时,我们通常会使用jQuery的AJAX功能。但是当我们需要等待所有的请求都返回时才进行下一步操作时,该怎么办呢?这时,我们可以利用jQuery中的Promise对象来实现等待多个AJAX请求的处理。下面是利用jQuery实现多个AJAX请求等待的完整攻略。 基本使用方法 1. 创建多个deferred对象 我们可以使用jQ…

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