JSFiddle - React, Tailwind, and code Playground
JavaScript
out = function(p)
{
document.write(p);
document.write("<br/>");
}
var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var days = ["M","T","W","T","F","S","S"];
function printCalendar(m,y)
{
document.write("<pre>");
var d;
if(m===undefined)
{
d = new Date();
}
else
{
if(y===undefined)
y = new Date().getFullYear();
if(m.constructor == Number)
d = new Date(months[m]+" "+y);
else
d = new Date(m+" "+y);
}
var carLen = days.length*4-1;
var separator = "+";
{
for(var i=0;i<carLen;i++)
{
separator += "-";
}
separator += "+";
}
out(separator);
var m = months[d.getMonth()]+" "+d.getFullYear();
var spaces = (carLen)-m.length;
var month = "|";
{
for(var i=0;i<Math.floor(spaces/2);i++)
{
month += " ";
}
month += m;
for(var i=0;i<spaces-(spaces/2);i++)
{
month += " ";
}
month += "|";
}
out(month);
out(separator);
var dayLine = "| ";
{
for(var i=0;i<days.length;i++)
{
dayLine += days[i];
dayLine += " | ";
}
}
out(dayLine);
out(separator);
var numDays = new Date(d.getFullYear(),d.getMonth()+1);
numDays.setDate(0);
numDays = numDays.getDate();
var firstDay = new Date(d.getFullYear(),d.getMonth(),1).getDay()-1;
while(firstDay<0)
firstDay += 7;
{
var curDay = 0;
while(curDay-firstDay<=numDays)
{
var curLine = "|";
for(var j=0;j<7;j++)
{
curDay++;
if(curDay-firstDay>0&&curDay-firstDay<=numDays)
{
if(curDay-firstDay>=10)
curLine +=" "+(curDay-firstDay)+"|";
...