只有當您知道這一天是在本週還是在下週時,接受的答案纔有效。如果你不知道怎麼辦?在任意日期之後,你只需要下一個星期四?
首先,您想知道問題的日期是小於還是大於您想要的日期。如果它更大,你想在下週使用。如果它較小,則可以使用同一周的星期一或星期四。
const dayINeed = 4; // for Thursday
if (moment().isoWeekday() <= dayINeed) {
return moment().isoWeekday(dayINeed);
} else...
如果我們過去我們已經想了一天(如果例如,我們的時刻,是一個週五,我們希望下一個可用星期四),那麼你想辦法解決,這將使你「的星期四在我們的時刻之後的那一週「,無論我們現在在哪一天,沒有任何必要的加/減。簡而言之,你想先進入下一週,使用moment().add(1, 'weeks')
。一旦您在接下來的一週內,您可以使用moment().day(1)
來選擇您想要的那一週的任何一天。
總之,這會給你滿足你的要求,無論在哪裏,你的初始時刻坐在其本週的下一個可用天:
const dayINeed = 4; // for Thursday
// if we haven't yet passed the day of the week that I need:
if (moment().isoWeekday() <= dayINeed) {
// then just give me this week's instance of that day
return moment().isoWeekday(dayINeed);
} else {
// otherwise, give me next week's instance of that day
return moment().add(1, 'weeks').isoWeekday(dayINeed);
}
參見:https://stackoverflow.com/a/27305748/800457
來源
2016-09-21 11:20:02
XML
作爲最新的時刻,你可以使用這一天本身e.g時刻()的名稱。天(「星期一」) –