const timeUtcSpan = document.querySelector("#time-utc"); const scheduleTable = document.querySelector("#schedule-table"); const scheduleForm = document.querySelector("#schedule-form"); timeUtcSpan.innerText = new Date() .toUTCString() .slice(17, 22); // .toLocaleTimeString(["en-UK"], { hour: "2-digit", minute: "2-digit" }); const weekDayNames = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", ]; const monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ]; const utcWeekDayName = (utcDate) => weekDayNames[utcDate.getUTCDay()]; const utcDayOfMonth = (utcDate) => utcDate.getUTCDate(); const utcMonthName = (utcDate) => monthNames[utcDate.getUTCMonth()]; const utcDateFromString = (dateString) => new Date( new Date(dateString).getTime() - new Date().getTimezoneOffset() * 60 * 1000, ); async function makeScheduleTable() { const timeslotData = await fetch("timeslots.json") .then((res) => res.json()); const timeslots = timeslotData .map(({ date, times }) => ({ dateString: date, date: utcDateFromString(date), times, })); timeslots.sort((a, b) => a.date.getTime() - b.date.getTime()); let tableHtml = `