Если вы используете MomentJS , который я настоятельно рекомендую для Javascript, вы можете сделать следующее:
var percentOfDayRangeComplete = function(start, end) {
var now = moment();
start = start || moment(now).startOf('day');
end = end || moment(now).endOf('day');
var totalMillisInRange = end.valueOf() - start.valueOf();
var elapsedMillis = now.valueOf() - start.valueOf();
// This will bound the number to 0 and 100
return Math.max(0, Math.min(100, 100 * (elapsedMillis / totalMillisInRange)));
};
jsFiddle , чтобы увидеть его в действии ...