Я использую дни недели, представленные цифрами. 0 = Sunday,..., 6 = Saturday
В реальном мире, не возвращаясь вовремя, если в субботу, но нужно, чтобы это было в понедельник, мне нужно подождать два дня до правильного. Но мне нелегко логически создавать формулу для этого в JavaScript.
have, need, add
6, 1, 2
1, 1, 0
3, 4, 1
5, 4, 6
0, 1, 1
Я пытался пробовать такие вещи, как (have+need)%6
, (need-get+6)%6
, (parseInt(have, 7) + parseInt(need, 7)).slice(-1)
, Успех в том, чтобы заставить работать.
У кого-нибудь есть идеи?
Кажется, что это работает с предоставленными данными:
Math.abs(((have - need) - 7 ) % 7)
Следующая формула работает для всех примеров в вашем вопросе.
((7 - have) + need) % 7
function getDay(h, n) {
return ((7 - h) + n) % 7;
}
console.log(getDay(6, 1));
console.log(getDay(1, 1));
console.log(getDay(3, 4));
console.log(getDay(5, 4));
console.log(getDay(0, 1));