我想用(DD/MM/YYYY)格式从给定的日期减去1个月,但是当我使用moment.js时,它给我的结果是01/12/2020。我怎么解决这个问题?基本上,当我点击左箭头时,每个月应该减去一个月。
var startOfMonth = moment().clone().startOf('month').format('DD/MM/YYYY');
leftArrow.on('click', function(){
var start = moment(startOfMonth).subtract(1, 'months').format("DD/MM/YYYY");
});
发布于 2021-05-22 05:34:23
如何使用moment.js减去一个月?
tl,dr;
moment(date).add(-1, 'months');
// or: moment(date).subtract(1, 'months');
初始答案:
下面是一个基本的例子。
它将日期存储为矩对象,然后通过添加或减去一个月来修改该对象,而不关心它的当前值。您还可以将其存储为JavaScript Date对象,当您必须将其与外部实体( db、浏览器等)通信时,该对象非常有用。
取点:
setDate
函数中)之前
// set initial date
let storedDate = moment.now();
// update DOM
setDate(storedDate);
function setDate(date) {
document.getElementById('text').innerText = moment(date).format('MMMM YYYY');
}
function addMonths(months) {
// change stored date
storedDate = moment(storedDate).add(months, 'months');
// update DOM
setDate(storedDate);
}
#text {
min-width: 120px;
text-align: center;
display: inline-block
}
button {
cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<div>
<button onclick="addMonths(-1)"><</button>
<span id="text"></span>
<button onclick="addMonths(1)">></button>
</div>
https://stackoverflow.com/questions/67649925
复制