У меня проблема с правильной датировкой ближайшего четверга и ближайшей пятницы. Консоль показывает дату до следующего четверга (23/04) и следующей пятницы (24/04), но не до ближайшего (16/04), (17/04), но console.log (date.getDay ()); правильно показывать время до ближайшего четверга и пятницы (4 и 5 дней). Интересно, что он хорошо показал себя на прошлой неделе
<script type="text/javascript">
(function($) {
let compareDate;
let timer;
const nextThursday = () => {
let date = new Date();
date.setHours(12, 0, 0, 0)
const daysToThursday = 7 - date.getDay() + 4;
date.setDate(date.getDate() + daysToThursday);
console.log(date.getDay());
console.log(date)
return date.getTime();
};
const nextFriday = () => {
let date = new Date();
date.setHours(12, 0, 0, 0)
const daysToFriday = 7 - date.getDay() + 5;
date.setDate(date.getDate() + daysToFriday);
console.log(date)
return date.getTime();
};
let countdownDate = nextThursday();
let countDownDate2=nextFriday();
function timeBetweenDates(toDate) {
var now = new Date().getTime();
var difference = countdownDate - now;
var difference2 = countDownDate2 - now;
if (difference <= 0) {
countdownDate = nextThursday();
} else {
var seconds = Math.floor(difference / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
hours %= 24;
minutes %= 60;
seconds %= 60;
$(".days-text").toggle(days > 0);
$(".days").text(days ? days : "");
$(".hours-text").toggle(hours > 0);
$(".hours").text(hours ? hours : "");
$(".minutes-text").toggle(minutes > 0)
$(".minutes").text(minutes ? minutes : "");
$(".seconds").text(seconds);
}
if (difference2 <= 0) {
countDownDate2 = nextFriday();
} else {
var seconds2 = Math.floor(difference2 / 1000);
var minutes2 = Math.floor(seconds2 / 60);
var hours2 = Math.floor(minutes2 / 60);
var days2 = Math.floor(hours2 / 24);
hours2 %= 24;
minutes2 %= 60;
seconds2 %= 60;
$(".days-text2").toggle(days2 > 0);
$(".days2").text(days2 ? days2 : "");
$(".hours-text2").toggle(hours2 > 0);
$(".hours2").text(hours2 ? hours2 : "");
$(".minutes-text2").toggle(minutes2 > 0)
$(".minutes2").text(minutes2 ? minutes2 : "");
$(".seconds2").text(seconds2);
}
}
$(function() {
timer = setInterval(timeBetweenDates, 1000);
})
})(jQuery);
</script>