我正在尝试查找一个学年剩下多少天并将其作为jQuery UI进度条返回。
jQuery UI progressbars只占用百分比。在今天的日期,我怎样才能找到两个提供日期之间在时间范围内的百分比?
答案 0 :(得分:9)
示例: http://jsfiddle.net/FLaJM/4/
var start = new Date(2005,0,1),
end = new Date(2021,0,1),
today = new Date();
alert( Math.round(100-((end - start) * 100 ) / today) + '%' );
或者如果你想要剩下的百分比:
示例: http://jsfiddle.net/FLaJM/3/
alert( Math.round(((end - start) * 100 ) / today) + '%' );
答案 1 :(得分:1)
如果你使用的是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看到它在行动......
答案 2 :(得分:0)
最简单的方法(通过算法 - 您可以将代码视为练习)是: