无法将 1 个月添加到 moment.js 日期
Can't add 1 month to a moment.js date
一段时间以来,我一直在尝试将日期加一个月,但我做不到,我也不知道为什么:
我的JSON:
{
"module": "C Graphical Programming",
"project": "Back To The Future - MyHunter",
"start": "2020-12-14",
"end": "2021-01-03",
"bttf": true
}
我的代码:
timeLineRaw.projects.forEach(element => {
let timeLineEmbed = new Discord.MessageEmbed();
timeLineEmbed.setTitle("Test");
let projectStart = moment(element.start);
let projectStartPlusOneMonth = projectStart.add(1, 'months');
if (moment(actual).isAfter(projectStart) && moment(actual).isBefore(projectStartPlusOneMonth)) {
timeLineEmbed.addField(`${element.module} - ${element.project}`, element.start);
channel.send(timeLineEmbed);
db.get('projects').remove({project: element.project}).write();
}
});
调试器 projectStart
和 projectStartPlusOneMonth
的输出:
Moment<2020-12-09T00:00:00+01:00> Moment<2020-12-09T00:00:00+01:00>
如果我尝试像这样在实际日期上加上 1 个月 moment().add(1, 'months')
这行得通...
像这样将变量包装在另一个时刻的引用中:
moment(projectStart).add(1, 'months');
每次使用时都需要引用时刻。
试试这个
var start= "2020-12-14";
var dt = moment(start);
var futureMonth = moment(dt).add(1, 'M');
console.log(futureMonth)
一段时间以来,我一直在尝试将日期加一个月,但我做不到,我也不知道为什么:
我的JSON:
{
"module": "C Graphical Programming",
"project": "Back To The Future - MyHunter",
"start": "2020-12-14",
"end": "2021-01-03",
"bttf": true
}
我的代码:
timeLineRaw.projects.forEach(element => {
let timeLineEmbed = new Discord.MessageEmbed();
timeLineEmbed.setTitle("Test");
let projectStart = moment(element.start);
let projectStartPlusOneMonth = projectStart.add(1, 'months');
if (moment(actual).isAfter(projectStart) && moment(actual).isBefore(projectStartPlusOneMonth)) {
timeLineEmbed.addField(`${element.module} - ${element.project}`, element.start);
channel.send(timeLineEmbed);
db.get('projects').remove({project: element.project}).write();
}
});
调试器 projectStart
和 projectStartPlusOneMonth
的输出:
Moment<2020-12-09T00:00:00+01:00> Moment<2020-12-09T00:00:00+01:00>
如果我尝试像这样在实际日期上加上 1 个月 moment().add(1, 'months')
这行得通...
像这样将变量包装在另一个时刻的引用中:
moment(projectStart).add(1, 'months');
每次使用时都需要引用时刻。
试试这个
var start= "2020-12-14";
var dt = moment(start);
var futureMonth = moment(dt).add(1, 'M');
console.log(futureMonth)