迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中进行日期相减

作者:迹忆客 最近更新:2023/03/24 浏览次数:

本文介绍了如何在 JavaScript 中减去两个日期。


在 JavaScript 中使用 getTime() 函数进行 Datetime 相减

第一步是使用内置的 new Date() 函数定义两个日期。为了得到它们之间的天数差,使用 getTime() 函数减去这两个日期,将它们转换为数值。你可以打印以天为单位的结果,或者根据需要将其转换为小时、分钟、秒或毫秒。下面是示例代码。

var day1 = new Date("08/25/2020");
var day2 = new Date("12/25/2021");

var difference = day2.getTime()-day1.getTime();

document.write(difference);

输出:

42080400000

使用 Math.abs() 函数对日期时间进行相减

这个过程与第一个过程类似,只是它返回的是绝对值。你需要定义两个日期,然后使用 Math.abs() 函数将两个变量相减,如下所示。

var day1 = new Date("08/25/2020"); 
var day2 = new Date("08/25/2021");

var difference= Math.abs(day2-day1);
days = difference/(1000 * 3600 * 24)

console.log(days)

输出:

365

注意Math.abs() 函数是区分大小写的,如果写的不一样,将无法使用。


使用 Date.UTC() 函数将日期转换为 UTC

当问题的日期跨越夏令时的变化时,上面的解决方案可能会有一点问题。解决这个问题的最好方法是将日期转换为 UTC,首先摆脱 DST,然后得到它们之间的差异。我们需要为这两个日期创建一个函数,其中包含两个对象,即

function difference(date1, date2) {
  const date1utc = Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());
  const date2utc = Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());
    day = 1000*60*60*24;
  return(date2utc - date1utc)/day
}

const date1 = new Date("2020-12-10"),
      date2 = new Date("2021-10-31"),
      time_difference = difference(date1,date2)

console.log(time_difference)

输出:

325

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Angular 中上传文件

发布时间:2023/04/14 浏览次数:71 分类:Angular

本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。

Angular 2 中的复选框双向数据绑定

发布时间:2023/04/14 浏览次数:139 分类:Angular

本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。

在 AngularJs 中加载 spinner

发布时间:2023/04/14 浏览次数:107 分类:Angular

我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。

在 Angular 中显示和隐藏

发布时间:2023/04/14 浏览次数:78 分类:Angular

本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。

在 Angular 中下载文件

发布时间:2023/04/14 浏览次数:104 分类:Angular

本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便