Задача №4
Створити функцію, яка дозволяє визначити, чи знаходиться вказана дата і час у межах поточного тижня (від понеділка 0 год, 0 хв, до неділі 23 год. 59 хв)
Рішення:
'use strict'
function checkIsThisWeek(then) {
const now = new Date()
now.setHours(0, 0, 0, 0) // reset time
const dayWeekUS = now.getDay() // count from 0 for Sunday
const dayWeekUA = (dayWeekUS + 6) % 7 // count from 0 for Monday
now.setDate(now.getDate() - dayWeekUA)
const lastMonday = now.getTime()
now.setDate(now.getDate() + 7)
const nextMonday = now.getTime()
return then.getTime() >= lastMonday && then.getTime() < nextMonday
}
/**
* @param {SubmitEvent} e
*/
function handleIsThisWeek(e) {
e.preventDefault()
const dateEl = document.querySelector('.js-date')
const date = new Date(dateEl.value)
const outputEl = document.querySelector('.js-output')
const isThisWeek = checkIsThisWeek(date)
outputEl.textContent = `Дата ${isThisWeek ? 'належить' : 'не належить'} поточному тижню`
}
const formEl = document.querySelector('.js-form')
formEl?.addEventListener('submit', handleIsThisWeek)
