момент js рассчитать разницу во времени с сегодняшнего дня - PullRequest
0 голосов
/ 15 февраля 2020

Я новичок во всех разработках и мне нужно вычислить разницу во времени между текущей и поздней датами.

Ниже приведен код, который я написал, но по какой-то причине он не отображается правильная разница во времени.

Я думаю, что проблема заключается в now = moment();, потому что я много отлаживал, может кто-нибудь помочь

var express = require('express');
var moment = require('moment');
var app = express();

app.get('/from/:day/:month/:year', function (req, res) {
    var now = moment();

    var urlDate = req.params;
    var dateJSON = JSON.stringify(urlDate);
    var obj = JSON.parse(dateJSON);

    var final = moment([obj.year, obj.month, obj.day]);

    var years = final.diff(now, 'year');
    now.add(years, 'years');

    var months = final.diff(now, 'months');
    now.add(months, 'months');

    var days = final.diff(now, 'days');

    console.log(years + ' years ' + months + ' months ' + days + ' days');
    res.send(years + ' years ' + months + ' months ' + days + ' days');
});

app.listen(3000);

1 Ответ

0 голосов
/ 15 февраля 2020

Ваш формат даты неправильный. Вы можете использовать формат даты по умолчанию: ГГГГ-ММ-ДД

Итак

var final = moment(`${obj.year}-${obj.month}-${obj.day}`);
var years = final.diff(now, 'year');
    now.add(years, 'years');

Примечание. Вам не нужно разбирать и анализировать. Это уже объект

var urlDate = req.params;
    //var dateJSON = JSON.stringify(urlDate);
    //var obj = JSON.parse(dateJSON);
year=urlDate.year
...