首页 > 解决方案 > Javascript用数组中的今天日期减去设置日期

问题描述

目前我有一个正在提取未来日期的数组,并且我正在尝试在数组中执行“未来日期”-“今天日期”来获取数字。当前正在输出未来日期的格式如下。

2021-06-21T16:23:26.182Z

我想知道如何在将日期拉入数组时修剪日期,然后从今天的日期中减去未来的日期,以提供数字输出。

当前在数组中,正在提取未来日期属性,如下所示。

futureDate: machine.future.date

我会在日期上执行“拆分”功能以将其缩减到 2021-06-21 吗?任何帮助将不胜感激,谢谢!

标签: javascriptarrays

解决方案


var futuredate="2021-06-21T16:23:26.182Z";
var dif = new Date(futuredate).setHours(0,0,0,0) - new Date().setHours(0,0,0,0);
// dif is in milliseconds
// days difference = dif / 1000 / 60 / 60 / 24
// years difference = dif / 1000 / 60 / 60 / 24 / 365

为了解决您的评论,您可以将一个数组映射到另一个数组 - 一路获取 diff 值,例如:

var arr = ["2021-06-21T16:23:26.182Z", "2021-06-22T16:23:26.182Z"];
var difarr = arr.map(futuredate => { 
  return (new Date(futuredate).setHours(0,0,0,0) - new Date().setHours(0,0,0,0)) / 1000 / 60 / 60 / 24 ; 
})
//difarr is an array of the difference in days (in this example)

推荐阅读