在时刻js中2月份的日期添加错误

时间:2018-02-09 15:16:49

标签: momentjs

使用Moment js进行日期操作。以下是我的代码。

startdate =“28/2/2018”(来自角度html页面)

var dateObj = new Date(startdate);  
var momentObj = moment(dateObj);  
var momentString = momentObj.add(1, 'months').format('DD-MM-YYYY');

var graceperioddate = moment(momentString,'DD-MM-YYYY').add(10, 'days').format('DD-MM-YYYY')

预期成果:10-03-2018

实际结果:07-03-2018

请帮忙解决。

2 个答案:

答案 0 :(得分:1)

抱歉,我没有足够的声誉发表评论 我刚刚使用moment.js版本2.20.1

尝试了您的代码段
"dependencies": {
    "moment": "^2.20.1"
}

但我无法重现您描述的行为(在vscode 1.20.0中调试):
enter image description here

您使用的是moment.js的哪个版本?也许你想用版本 2.20.1 试一下?希望我能提供帮助。

答案 1 :(得分:0)

找到错误答案的原因。 如果我们使用格式(' YYYY-MM-DD')它可以解决问题。所以在下面用(' YYYY-MM-DD')格式化的代码中得到了正确的结果,如10-03-2018。

var momentString = momentObj.add(1, 'months').format('DD-MM-YYYY');
var graceperioddate = moment(momentString,'DD-MM-YYYY').add(10, 'days').format('DD-MM-YYYY')