【发布时间】:2011-06-08 01:02:13
【问题描述】:
我试图找出一个学年还剩多少天,并将其作为 jQuery UI 进度条返回。
jQuery UI 进度条只占百分比。给定今天的日期,我如何才能找到我在两个提供的日期之间的时间跨度中的百分比?
【问题讨论】:
标签: javascript jquery user-interface date time
我试图找出一个学年还剩多少天,并将其作为 jQuery UI 进度条返回。
jQuery UI 进度条只占百分比。给定今天的日期,我如何才能找到我在两个提供的日期之间的时间跨度中的百分比?
【问题讨论】:
标签: javascript jquery user-interface date time
示例: 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) + '%' );
【讨论】:
如果您使用的是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 看看它的实际应用...
【讨论】:
最简单的方法(算法 - 您可以将代码作为练习)是:
【讨论】: