我想将我从API收到的日期与当前日期(如果超过14天)进行比较。我收到的日期是这种格式。
"date": "2018-08-07T14:17:24+02:00"
答案 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