Advertisement
BadLemon

Calendar

Oct 23rd, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve([day,month,year]) {
  2.     let months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
  3.         'September', 'October', 'November', 'December'];
  4.     [day,month,year] = [day,month,year].map(Number);
  5.     let date = new Date(year,month-1,day);
  6.     let firstOfTheMonth = new Date (year,month-1,1);
  7.     let lastOfTheMonth = new Date (year,month,0);
  8.     console.log(date.getDate(),date.getMonth(),date.getFullYear());
  9.     console.log(firstOfTheMonth.getDate(),firstOfTheMonth.getMonth(),firstOfTheMonth.getFullYear());
  10.     console.log(firstOfTheMonth.getDay());
  11.     let tableStart = $(`<table> <caption>${months[month-1]} ${date.getFullYear()}</caption><tbody>`+
  12.         '<tr>' +
  13.         '<th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th></tr>');
  14.     let html = `    <tr>`;
  15.     let daysFormThePreviousMonth =firstOfTheMonth.getDay()-1;
  16.     if(firstOfTheMonth.getDay() == 0)
  17.         daysFormThePreviousMonth = 6;
  18.  
  19.     for (var i = 0; i < daysFormThePreviousMonth; i++) {
  20.         html += `<td></td>`;
  21.     }
  22.     for (var z = 1  ; z <= 7-daysFormThePreviousMonth  ; z++) {
  23.         if(z == date.getDate()){
  24.             html += `<td class="today">${z}</td>`
  25.         }
  26.         else {
  27.             html += `<td>${z}</td>`
  28.         }
  29.     }
  30.     let printDate = 8-daysFormThePreviousMonth;
  31.     for (var row = 0; row < Math.ceil((lastOfTheMonth.getDate()-(7-daysFormThePreviousMonth))/7); row++) {
  32.         html+=`<tr>`
  33.  
  34.         for (var col = 1  ; col <= 7  ; col++) {
  35.             if(printDate == date.getDate()){
  36.                 html += `<td class="today">${printDate}</td>`
  37.             }
  38.             else {
  39.                 if(printDate > lastOfTheMonth.getDate())
  40.                     html += `<td></td>`
  41.                 else
  42.                     html += `<td>${printDate}</td>`
  43.  
  44.             }
  45.             printDate++;
  46.         }
  47.         html+=`</tr>`
  48.  
  49.     }
  50.  
  51.     $(html).appendTo($(tableStart))
  52.  
  53.     $(`</table>`).appendTo($(tableStart))
  54.     $(tableStart).appendTo($('#content'))
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement