Time Manipulation with DateJS
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js"></script>
Start Time: <input id="startTime" type="text" /><br />
End Time: <input id="endTime" type="text" />
<div id="output">
</div>
<div id="test">
</div>
JavaScript
$(function () {
$("#startTime").change(function () {
var st = Date.parse(this.value);
var et = Date.parse(this.value).add(3*7+4).days();
$("#endTime").val(et.toString("MM/dd/yyyy"));
updateWeeks(st,et);
});
function updateWeeks(start, end)
{
var cd = start;
var sd = start;
var ed = end;
var tststart = cd.getDay();
if(tststart > 1)
{
cd.setDate(cd.getDate() - (tststart-1));
}
var cw;
var msg = "UAT:: <br>";
var out = "<table><tr><th> </th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th>";
while (cd <= ed)
{
var curd = cd.getDay();
var curw = cd.getWeek();
if(curw != cw)
{
out = out + "</tr><tr><td>Week " + curw + "</td>";
cw = curw;
}
if(curd>0 && curd <=5)
{
if(cd >= start)
{
out = out + "<td><b>" + cd.toString("MM/dd") + ">" + sd.toString("MM/dd") + "</b></td>";
}
else
{
out = out + "<td><i>" + cd.toString("MM/dd") + "</i></td>";
}
}
else
{
out = out + "<td>" + cd.toString("MM/dd") + "</td>";
}
cd = cd + 1;
}
out = out + "</tr></table>";
msg = msg + "start " + start + " to " + end + "<hr>" + out;
$("#output").html(msg);
}
});