[英]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.