使用moment.js将日期的日期设置为1st

时间:2017-03-31 08:33:52

标签: javascript date momentjs

我正在浏览文档,无法找到所需的方法。在我的解决方案中,我得到了今天的日期,然后是前一个月和后一个月,但是希望得到当月的第一天和未来一个月的最后一天。

简而言之,这应该是出来的:

  • 今天的日期:21/05/2017
  • startDate = 01/04/2017
  • endDate = 30/06/2017

我的代码:

var startDate = moment(date).subtract(1,'months')
var endDate = moment(date).add(1,'months');

3 个答案:

答案 0 :(得分:10)

只需使用addsubtract方法获取下个月和上个月,然后使用startOfendOf获取该月的第一天和最后一天。

这是一份工作样本:



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;
&#13;
&#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()