Day of the week computer

by Nicolaus Maloney

HTML

<p>Year: <input type='text' id='year' 
  maxlength='4' style='width: 4em'/>
&#160;&#160;
Month: <select id='month'>
  <option value='1'>January</option>
  <option value='2'>February</option>
  <option value='3'>March</option>
  <option value='4'>April</option>
  <option value='5'>May</option>
  <option value='6'>June</option>
  <option value='7'>July</option>
  <option value='8'>August</option>
  <option value='9'>September</option>
  <option value='10'>October</option>
  <option value='11'>November</option>
  <option value='12'>December</option>
</select>&#160;&#160;
Day of month: <input type='text' id='day' 
maxlength='2' style='width: 2em'/></p>

<p><button id = 'button' >Compute!</button></p>

<div id='answer'></div>

JavaScript

const yearElem = document.getElementById('year');
const monthElem = document.getElementById('month');
const dayElem = document.getElementById('day');
const ansElement = document.getElementById('answer');
document.getElementById("button")
  .addEventListener('click', dow);

function dow() {
  const year = yearElem.value;
  const month = monthElem.value;
  const day = dayElem.value;
  console.log('year: ' + year);
  console.log('month: ' + month);
  console.log('day: ' + day);
  
  
  const c = 6;
  const dom = day-0;
  const array = [0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5]
  const monnum = array[month - 1];
  const y = year - 2000;
  const lyt = Math.floor(y / 4);  
  function isly() {
    return (y % 4) == 0;
  }
  const lyadjmn = (isly() && month < 2 ? -1 : 0);
  const arraytwo = [ Su, Mo, Tu, We, Th, Fr, Sa]
  const dow = arraytwo[(c+dom+monnum+y+lyt+lyadjmn)%7-(l-0)];
  ansElement.textContent = dow;
}