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

Bis*_*h25 0 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');
Run Code Online (Sandbox Code Playgroud)

Vin*_*zoC 13

只需使用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
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)