Javascript 如何使用moment.js减去1个月?
我想用(DD/MM/YYYY)格式从给定的日期中减去1个月,但当我使用moment.js执行此操作时,它会将结果显示为2020年12月1日。我如何解决这个问题?基本上,当我点击左箭头时,每月应该减去1 如何使用moment.js减去一个月 tl,dr强>Javascript 如何使用moment.js减去1个月?,javascript,jquery,date,momentjs,Javascript,Jquery,Date,Momentjs,我想用(DD/MM/YYYY)格式从给定的日期中减去1个月,但当我使用moment.js执行此操作时,它会将结果显示为2020年12月1日。我如何解决这个问题?基本上,当我点击左箭头时,每月应该减去1 如何使用moment.js减去一个月 tl,dr moment(date).add(-1, 'months'); // or: moment(date).subtract(1, 'months'); 初始答案: 这里有一个基本的例子 它将日期存储为时刻对象,然后通过添加或减去一个月对其进行
moment(date).add(-1, 'months');
// or: moment(date).subtract(1, 'months');
初始答案: 这里有一个基本的例子 它将日期存储为时刻对象,然后通过添加或减去一个月对其进行修改,而不必关心其当前值。您还可以将其存储为JavaScript日期对象,这在您必须将其与外部实体(db、浏览器等)通信时非常有用 外卖点:
- 日期不存储为文本
- 到目前为止,MOD是最小的
- 只在一个位置将日期解析为文本:在更新DOM之前(在
函数中)setDate
//设置初始日期
让storedDate=moment.now();
//更新DOM
设置日期(存储日期);
函数设置日期(日期){
document.getElementById('text')。innerText=时刻(日期)。格式('MMMM-YYYY');
}
功能添加月份(月){
//更改存储日期
storedDate=时刻(storedDate).add(月,'月');
//更新DOM
设置日期(存储日期);
}
#文本{
最小宽度:120px;
文本对齐:居中;
显示:内联块
}
钮扣{
光标:指针;
}
如何使用moment.js减去一个月
tl,dr强>
moment(date).add(-1, 'months');
// or: moment(date).subtract(1, 'months');
初始答案: 这里有一个基本的例子 它将日期存储为时刻对象,然后通过添加或减去一个月对其进行修改,而不必关心其当前值。您还可以将其存储为JavaScript日期对象,这在您必须将其与外部实体(db、浏览器等)通信时非常有用 外卖点:
- 日期不存储为文本
- 到目前为止,MOD是最小的
- 只在一个位置将日期解析为文本:在更新DOM之前(在
函数中)setDate
//设置初始日期
让storedDate=moment.now();
//更新DOM
设置日期(存储日期);
函数设置日期(日期){
document.getElementById('text')。innerText=时刻(日期)。格式('MMMM-YYYY');
}
功能添加月份(月){
//更改存储日期
storedDate=时刻(storedDate).add(月,'月');
//更新DOM
设置日期(存储日期);
}
#文本{
最小宽度:120px;
文本对齐:居中;
显示:内联块
}
钮扣{
光标:指针;
}
var start=moment(startOfMonth)。减去(1,'months')。格式(“MMMM-YYYY”)代码>这不起作用吗?startOfMonth
已格式化为文本,不再是时间日期。存储moment().clone().startOf('month')
并仅使用format命令显示值:var start=moment(startOfMonth)。减去(1,'months').format(“MMMM-YYYY”)代码>这不起作用吗?startOfMonth
已格式化为文本,不再是时间日期。存储moment().clone().startOf('month')
并仅使用format命令显示值:示例中不需要moment#startOf,因为没有显示日期。;-)由于未显示日期,因此示例中不需要使用moment#startOf