我正在浏览文档,无法找到所需的方法。在我的解决方案中,我得到了今天的日期,然后是前一个月和后一个月,但是希望得到当月的第一天和未来一个月的最后一天。
简而言之,这应该是出来的:
21/05/2017
01/04/2017
30/06/2017
我的代码:
var startDate = moment(date).subtract(1,'months')
var endDate = moment(date).add(1,'months');
答案 0 :(得分:10)
只需使用add
和subtract
方法获取下个月和上个月,然后使用startOf
和endOf
获取该月的第一天和最后一天。
这是一份工作样本:
var date = moment([2017, 4, 21]); // one way to get 21/05/2017
// If your input is a string you can do:
//var date = moment('21/05/2017', 'DD/MM/YYYY');
var startDate = date.clone().subtract(1, 'month').startOf('month');
var endDate = date.clone().add(1, 'month').endOf('month');
console.log(startDate.format('DD/MM/YYYY')); // 01/04/2017
console.log(endDate.format('DD/MM/YYYY')); // 30/06/2017

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
&#13;
答案 1 :(得分:1)
您可以使用app:civ_border_color="#f36121"
和moment().startOf('month')
方法
答案 2 :(得分:0)
let startDate = moment().startOf('month').subtract(1, 'months').toDate()
let endDate = moment().endOf('month').add(1, 'months').toDate()