【问题标题】:moment js calculate time diffrence from now to date时刻js计算从现在到现在的时间差
【发布时间】:2020-02-15 10:26:05
【问题描述】:

我对所有正在开发的东西都是新手,我需要计算现在和以后日期之间的时间差。

以下是我编写的代码,但由于某种原因它没有显示正确的时差。

我认为问题出在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);

【问题讨论】:

    标签: node.js express momentjs


    【解决方案1】:

    您的日期格式错误。您可以使用默认日期格式,即:YYYY-MM-DD

    所以

    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
    

    【讨论】:

    • 控制台说这将在下一个主要版本中被斩首
    • 是的,使用其他格式。我只是建议如何解决你的代码的问题或问题
    猜你喜欢
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    相关资源
    最近更新 更多