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日

相关文章

  • 深入理解JavaScript中的Base64编码字符串

    深入理解JavaScript中的Base64编码字符串 什么是Base64编码字符串? Base64编码是一种将二进制数据转换为可打印ASCII字符的编码方式,其常用于在网络上传输数据,例如将图片或音频文件转换为Base64编码字符串,然后将其作为字符串传输。 Base64编码将每3个字节转换为4个ASCII字符,字节不足时会进行填充。Base64编码表中包…

    JavaScript 2023年5月19日
    00
  • jquery实现表单验证简单实例演示

    下面是关于”jquery实现表单验证简单实例演示”的完整攻略。 什么是jquery表单验证 jquery是一个Javascript库,可以简化JavaScript编写等操作具体内容往往使用jQuery编写的,它可以使JavaScript的大量编码变得轻松愉快。jquery表单验证就是使用jquery库来实现对表单的验证功能,包括对用户输入的内容进行格式、合法…

    JavaScript 2023年6月10日
    00
  • 简单整理HTML5的基本特性和语法

    HTML5是超文本标记语言(Hypertext Markup Language)的最新版本。它拥有各种功能和语法规则,此处将简单整理HTML5的基本特性和语法,并附上实例。 HTML5基本特性 HTML5具有以下基本特性: 支持多媒体:HTML5可通过视频、音频、图像等多种方式在页面中插入多媒体内容。 简洁语法:HTML5采用更为简洁的语法规则,例如可以使用…

    JavaScript 2023年5月19日
    00
  • JS动态添加与删除select中的Option对象(示例代码)

    下面我将详细讲解如何通过JavaScript动态地添加和删除<select>元素中的<option>元素。 1. 添加<option>元素 通过JavaScript动态地往<select>元素中添加<option>元素,可以用以下代码: // 获取<select>元素 var selec…

    JavaScript 2023年6月10日
    00
  • Js参数值中含有单引号或双引号问题的解决方法

    Js参数值中含有单引号或双引号问题的解决方法可以通过转义字符进行转义。以下是详细的攻略: 方法一:使用转义字符 在引号前加上反斜杠(\)作为转义字符即可解决问题。如果参数值中含有单引号,则用反斜杠转义单引号(\’),如果参数值中含有双引号,则用反斜杠转义双引号(\”)。 例如: let name1 = "Tom’s cat"; // 包含…

    JavaScript 2023年6月11日
    00
  • jquery对象和javascript对象即DOM对象相互转换

    将jQuery对象转换为DOM对象可以使用get()或[index]方法,将DOM对象转换成jQuery对象可以使用$()或jQuery()方法进行转换。 示例1:将jQuery对象转换成DOM对象 // 创建jQuery对象 var $elem = $(‘<div>’, {text: ‘Hello World!’}); // 将jQuery对象…

    JavaScript 2023年5月27日
    00
  • JS实现简单的二维矩阵乘积运算

    下面是JS实现简单的二维矩阵乘积运算的攻略: 什么是二维矩阵? 二维矩阵是一个由数值排列成的矩阵,可以用来表示数据、图片以及程序中的细节。二维矩阵一般是由行和列组成,行和列之间用逗号隔开,矩阵中的每个数则通过空格隔开。 例如: 1 2 3 4 5 6 7 8 9 这便是一个3行3列的二维矩阵,其中最左上角的数为1,最右下角的数为9。 怎样进行矩阵乘积运算? …

    JavaScript 2023年5月28日
    00
  • Marked.js让您的文档编辑更加轻松自如

    ​ 低代码应用平台——kintone既可以保留更改记录,也有流程管理的功能,在公司内部分享会议记录啊、wiki等文档或学习资料等时非常的便利。 kintone还有丰富的文本编辑框,可以对内容进行编辑提高易读性。但是还是有不少人觉得如果能够使用Markdown编辑,将更加轻松,文本也将更加美观。※特别受程序员的欢迎:) 这次就向大家介绍如何使用Cybozu C…

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