将当前日期与从api响应收到的日期进行比较

时间:2018-09-07 12:05:02

标签: javascript reactjs ecmascript-6

我想将我从API收到的日期与当前日期(如果超过14天)进行比较。我收到的日期是这种格式。

"date": "2018-08-07T14:17:24+02:00"

3 个答案:

答案 0 :(得分:1)

您也可以使用库date-fns进行计算。它有一个smaller bundle size than Moment

function exceedsDays(date, numberOfDays) {
  var today = dateFns.startOfToday();
  var diff = dateFns.differenceInDays(today, dateFns.parse(date));
  return diff > numberOfDays;
}

var date = "2018-08-07T14:17:24+02:00";
var result = exceedsDays(date, 14);

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.29.0/date_fns.min.js"></script>

答案 1 :(得分:0)

let dateFrom = new Date("2018-08-07T14:17:24+02:00").getTime();
let today = new Date().getTime();
let days14 = 1000 * 60 * 60 * 24 * 14;

if(today - dateFrom > days14){  }

答案 2 :(得分:0)

如果您使用momentjs,则可以执行类似的操作。这将返回一个布尔值。您可以稍后再使用此函数,以检查是否超过30天等。只需更改第二个参数即可。第一个是您要检查的日期。默认情况下,moment()立即返回,这就是我们现在不需要创建日期的原因。

const oldDate = '2018-08-07T14:17:24+02:00';

function exceedNumOfDays(date, numOfDays) {
  return moment().diff(new Date(date), 'days') > numOfDays;
}

exceedNumOfDays(oldDate, 14)

我将代码放置在codesandbox上,您可以在左下方看到控制台。 https://codesandbox.io/s/oo967v83xq