【问题标题】:Adding days to a moment object is return same moment object向时刻对象添加天数是返回相同的时刻对象
【发布时间】:2020-05-06 04:18:06
【问题描述】:

我有一个时刻对象,我正在尝试添加几天。 但是,它返回的结果是相同的时刻对象。

但是,如果我只是尝试在当前日期执行此操作,则效果很好。

另外,请注意,我总是收到一个我需要添加日期的时刻对象。

代码:

const someDate = moment('22-03-2020');
console.log(someDate.add(5, 'days');

someDate 是我从服务器收到的东西,它始终是一个时刻对象。

我该如何解决这个问题?

【问题讨论】:

    标签: javascript date momentjs add


    【解决方案1】:

    你应该指定你使用的格式,像这样:

    const someDate = moment('22-03-2020', 'DD-MM-YYYY')
    const newDate = someDate.add(5, 'days')
    console.log(newDate)
    

    要格式化时刻对象,您只需像这样添加.format()

    console.log(newDate.format())
    

    【讨论】:

    • 控制台仍然返回 Moment 对象
    • @ManjeetThakur,我已经更新了我的答案。您可以输入 .format() 来格式化您的 Moment 对象。
    【解决方案2】:

    “时刻 js 中的弃用警告 - 不是可识别的 ISO 格式” 如果您提供无效的 ISO 格式以获取更多信息,请查看此处的信息 Deprecation warning in moment js - Not in a recognized ISO format

        // Recommended format: YYYY/MM/DD
    
    
     const someDate = moment('2020-03-22');
     console.log(someDate.add(5, 'days').format("YYYY-MM-DD"));
    

    Test here

    【讨论】:

    • 或者你可以明确:moment('22-03-2020', 'DD-MM-YYYY', true)
    猜你喜欢
    • 2019-01-21
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多