如何使用 moment.js 减去 1 个月?
How can I subtract 1 month using moment.js?
我想以 (DD/MM/YYYY) 格式从给定日期减去 1 个月,但是当我使用 moment.js 执行此操作时,结果为 01/12/2020。我该如何解决这个问题?基本上当我点击左箭头时,月份应该每隔
减去 1
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");
});
How can I subtract one month using moment.js?
tl,dr;
moment(date).add(-1, 'months');
// or: moment(date).subtract(1, 'months');
初始答案:
这是一个基本示例。
它将日期存储为一个 moment 对象,然后您可以通过添加或减去一个月来修改它,而无需关心它的当前值是多少。您还可以将其存储为 JavaScript 日期对象,这在您必须将其与外部实体(数据库、浏览器等)通信时很有用。
带走积分:
- 日期未存储为文本
- 迄今为止的模组很少
- 日期仅在一处被解析为文本:更新前 DOM(在
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>
我想以 (DD/MM/YYYY) 格式从给定日期减去 1 个月,但是当我使用 moment.js 执行此操作时,结果为 01/12/2020。我该如何解决这个问题?基本上当我点击左箭头时,月份应该每隔
减去 1var startOfMonth = moment().clone().startOf('month').format('DD/MM/YYYY');
leftArrow.on('click', function(){
var start = moment(startOfMonth).subtract(1, 'months').format("DD/MM/YYYY");
});
How can I subtract one month using moment.js?
tl,dr;
moment(date).add(-1, 'months');
// or: moment(date).subtract(1, 'months');
初始答案:
这是一个基本示例。
它将日期存储为一个 moment 对象,然后您可以通过添加或减去一个月来修改它,而无需关心它的当前值是多少。您还可以将其存储为 JavaScript 日期对象,这在您必须将其与外部实体(数据库、浏览器等)通信时很有用。
带走积分:
- 日期未存储为文本
- 迄今为止的模组很少
- 日期仅在一处被解析为文本:更新前 DOM(在
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>