JSFiddle - React, Tailwind, and code Playground

HTML

<table id="calendar"></table>

JavaScript

function calendar(d) {
  var t = new Date(d); // Today [Wed Jan 16 2013 00:00:00 GMT-0500 (EST)]
  var d = t.getDate(); // Today's date (1-31) [16]
  var y = t.getFullYear(); // Full year [2013]
  var m = t.getMonth(); // Month (0-11) [0]
  var mN = [ // Month name array (0-11)
  "January",
    "February",
    "March",
    "April",
    "May",
    "June",
    "July",
    "August",
    "September",
    "October",
    "November",
    "December"];
  var fM = mN[m]; // Full month name [January]
  var dIM = new Date(y, m + 1, 0).getDate(); // Number of days in current month (1-31) [31]
  var dOW = new Date(y, m, 1).getDay(); // Day of the first day of the month (0-6) [2]
  var nOW = Math.ceil((dIM + dOW) / 7); // Number of weeks in the month, including space [5]


  var count = 0,
    $row;

  for (var i = 0 - dOW; i < dIM; i++) {
    var day = i + 1;
    if (count % 7 === 0) {
      $row = $('<tr />').appendTo('#calendar');
    }
    if (day > 0) {
      if (day === d) {
        $row.append("<td>[" + day + "]</td>");
      } else {
        $row.append("<td>" + day + "</td>");
      }
    } else {
      $row.append("<td>s</td>");
    }
    count++;
  }

}


// "1 March 2013"
calendar(new Date());