JavaScript 查找已过去的时间
在本文中,我们将使用JavaScript的Date对象找出两个时间实例之间已过去的时间。首先,我们将简要介绍JavaScript中的Date对象。
日期对象: JavaScript的日期对象处理日期和时间,它是一个内置对象。它以毫秒为单位存储Unix时间戳的值,Unix时间戳是自1970年1月1日UTC以来经过的毫秒数。我们可以使用它来创建新的日期,格式化日期,获取两个不同时间值之间的经过时间等。
现在,我们将讨论如何找出两个不同时间值之间的经过时间。
示例1: 执行函数所花费的时间。
方法:
- 在任务开始执行之前,将当前时间赋值给start变量。
- 执行我们要计算经过时间的任务,这里我们的任务是运行greeting()函数。
- 完成该函数的执行后,将时间赋值给end变量。
- 通过将end减去start(end-start),我们将得到给定函数的经过时间。
Javascript
// Using Date objects
let start = Date.now();
// Task for which we want to calculate the
// time taken / time elapsed from the start
// of the process to end of that process
function greeting(){
console.log("Hey Geeks");
}
greeting();
// get the end time
let end = Date.now();
// elapsed time in milliseconds
let elapsed = end - start;
// converting milliseconds to seconds
// by dividing 1000
console.log(elapsed/1000);
输出
Hey Geeks
0.003
通过注意到问候函数的开始时间和结束时间,我们通过减去问候函数的结束时间和开始时间来计算函数的运行时间。
示例2: 用户设置的两个时间实例之间的经过时间。
1.查找过去日期/时间与当前日期/时间之间经过的时间:
方法:
- 将过去的日期定义为日期对象并将其分配给一个past变量。
- 声明now变量并将当前时间分配给它。
- 当我们没有定义任何时间给Date对象时,它会取当前时间。
- 通过减去过去时间和当前时间(now-past),我们将得到给定时间实例的经过时间。
Javascript
// Calculating the time elapsed from
// 1970-01-01 to up to now
// set the time
let past = new Date('1970-01-01');
// assigning present time to now variable
let now = new Date();
let elapsed = (now - past);
// by dividing by 1000 we will get
// the time in seconds
console.log(elapsed / 1000);
输出
1662201865.404
2. 找到用户定义的两个日期/时间之间经过的时间:
方法:
- 将第一个日期定义为 start 变量。
- 将第二个日期定义为 end 变量。
- 简单地将这两个时间实例相减,我们将得到这两个实例之间经过的时间。
Javascript
// Calculating the time elapsed from
// 1970-01-01 to 2020-08-22
// set the time
let first = new Date('1970-01-01');
// assigning present time to now variable
let end = new Date('2020-08-22');
let elapsed = (end-first);
// We'll get the elapsed time in days
console.log(elapsed/(1000*60*60*24));
输出
18496
默认情况下,我们将以毫秒为单位获得流逝的时间,所以我们将它除以1000。这样,我们将得到以秒为单位的时间,并将其转换为天。
同样,我们可以定义日期/时间的每个实例,并据此找出经过的时间。在这里,我们讨论了定义DD:MM:YY格式的方法。您可以参考GeeksforGeeks上的JavaScript Set Date Methods文章,以在不同格式中设置日期。
我希望现在您可以通过设置您想要的时间来找出经过的时间。在这些操作中,时间将以毫秒为单位,因此根据我们的需求,我们必须进行转换。
极客教程