木曜日には、moment.js
を使用して再開しようとしています。 この木曜日はではありません。次のもの。木曜日の2日の日付。Moment.js、次の[平日]に来る
私はちょうど来週の木曜日(現在の曜日が木曜日の前にある場合にのみ動作します)
に任意のアイデアを取得し
moment().add(1, 'week').day(4)
を試してみましたか?
木曜日には、moment.js
を使用して再開しようとしています。 この木曜日はではありません。次のもの。木曜日の2日の日付。Moment.js、次の[平日]に来る
私はちょうど来週の木曜日(現在の曜日が木曜日の前にある場合にのみ動作します)
に任意のアイデアを取得し
moment().add(1, 'week').day(4)
を試してみましたか?
"(今週の曜日が木曜日の場合のみ動作します) .add(1、 'week')はちょうど7日を追加して次週の日付を取得し、その週の4日目を取得しているために起きています。 以下のコードは、あなたのケースに対して完全に機能します。
if(moment().weekday() < 4)
moment().add(1, 'week').day(4);
else
moment().add(2, 'week').day(4);
ないmoment.jsの使用方法について確認してください、しかし平野jsの中で次木曜日は次式で与えられます。ちょうど7日に追加、次木曜日のため
currentDate + (11 - d.getDay() % 7)
。おそらく、現在の日が木曜日であれば、その2週間後に木曜日たい:いくつかのテストで
var d = new Date();
console.log(d.toString());
// Shift to next Thursday
d.setDate(d.getDate() + ((11 - d.getDay()) % 7 || 7) + 7)
console.log(d.toString())
または関数にカプセル化:
function nextThursdayWeek(d) {
d = d || new Date();
d.setDate(d.getDate() + ((11 - d.getDay()) % 7 || 7) + 7);
return d;
}
// Test data
[new Date(2017,2,6), // Mon 6 Mar 2017
new Date(2017,2,7), // Tue 7 Mar 2017
new Date(2017,2,8), // Wed 8 Mar 2017
new Date(2017,2,9), // Thu 9 Mar 2017
new Date(2017,2,10), // Fri 10 Mar 2017
new Date(2017,2,11), // Sat 11 Mar 2017
new Date(2017,2,12), // Sun 12 Mar 2017
new Date() // Today
].forEach(function (date) {
console.log(date.toString() + ' -> ' + nextThursdayWeek(date).toString());
});
あなたは '.weekday()'プロパティを見ましたか? – Jhecht
@Jhecht私は、それについては何ですか? – softcode
平日は何が必要なのですか? – Jhecht