簡體   English   中英

使用moment.js將日期設置為第一天

[英]Setting the day of the date to the 1st with moment.js

我正在瀏覽當下的文檔,找不到所需的方法。 在我的解決方案中,我得到的是今天的日期,然后是前一個月和下一個月,但是希望得到該月的第一天和該月的最后一天。

簡而言之,這應該是結果:

  • 今天的日期: 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');

只需使用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> 

您可以使用moment().startOf('month')moment().endOf('month')方法

let startDate = moment().startOf('month').subtract(1, 'months').toDate()
let endDate = moment().endOf('month').add(1, 'months').toDate()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM