簡體   English   中英

Momentjs-獲取最近的星期五

[英]Momentjs - Get most recent Friday

我正在嘗試開始最近一個星期五的(12:00 am,或00:00 am)。 這一直在工作:

moment().isoWeekday(5).startOf('day').toDate()

但是它僅在星期五->星期日有效,在星期一早晨它將引用即將到來的星期五,在這種情況下,它將起作用:

moment().add('-1', 'week').day(5).startOf('day').toDate()

但是我需要它是動態的,並且如果可能的話,請一行完成,直到當天我不執行任何檢查。

有沒有辦法始終獲取最近的星期五? 無論今天是什么日子。

編輯我還試圖讓它返回當前日期(星期五)(如果在星期五執行)。

如果您不想使用庫,那就很簡單了

 var date = new Date(); while ( date.getDay() !== 5 ) date.setDate(date.getDate() -1); console.log(date) 

隨着時刻

var date = moment();

var friday = date.day(date.day() >= 5 ? 5 :-2);

如果毫秒精度無關緊要,則可以調用moment()兩次使其變為一行(但我會更願意使用一個變量)

var friday = moment().day(moment().day() >= 5 ? 5 :-2);

檢查一下:

 var date = moment().utc().isoWeekday(5); if(moment().day() < 5) { date = date.add(-1, 'week'); } console.log('Recent friday starts:', date.startOf('day').toDate()); console.log('Recent friday ends:', date.endOf('day').toDate()); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.js"></script> 

暫無
暫無

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

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