Skip to content

Instantly share code, notes, and snippets.

@booyaa
Created July 5, 2013 14:35
Show Gist options
  • Save booyaa/5934968 to your computer and use it in GitHub Desktop.
Save booyaa/5934968 to your computer and use it in GitHub Desktop.
timesheet
function parseTime(timeString) {
return timeString.split(":");
}
function process() {
console.log($('input[name="start"]'));
var data = {};
data["start"] = parseTime($('input[name="start"]').val());
data["end"] = parseTime($('input[name="end"]').val());
data["lunch"] = $('input[name="lunch"]').val();
data["noLunch"] = $('input[name="noLunch"]').prop('checked');
data["timeNow"] = $('input[name="timeNow"]').is(':checked');
//console.log(data);
//alert(JSON.stringify(data));
var start, finish, delta, lunch, lunchDelta, timeParts, message = "";
timeParts = data["start"];
start = new Date();
start.setHours(timeParts[0]);
start.setMinutes(timeParts[1]);
finish = new Date();
if (data["timeNow"] === false) {
timeParts = data["end"];
finish.setHours(timeParts[0]);
finish.setMinutes(timeParts[1]);
}
delta = new Date(finish - start);
//message += "<br />start: " + start.toTimeString() + "<br />finish: " + finish.toTimeString() + "<br />delta: " + delta.toTimeString();
var deltaDecimal = new Number(delta.getHours() + "." + (delta.getMinutes() / 60).toFixed(2).split('.')[1]);
message += "<br />" + start.toLocaleTimeString("en-GB") + " - " + finish.toLocaleTimeString("en-GB") + " = " + delta.getHours() + ":" + delta.getMinutes() + " = " + deltaDecimal;
if (data["noLunch"] === false) {
lunch = data["lunch"];
} else {
lunch = 0;
}
lunchDelta = deltaDecimal-lunch;
var half = Math.ceil((0.5/lunchDelta)*100),
onehr = Math.ceil((1/lunchDelta)*100),
twohr = Math.ceil((2/lunchDelta)*100),
fourhr = Math.ceil((4/lunchDelta)*100);
message += "<br /> 30m = " + half + "% 1hr = " + onehr + "% 2hr = " + twohr + "% 4hr = " + fourhr + "%";
document.getElementById("foo").innerHTML = message; //JSON.stringify(data, null, 4);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment