Javascript中日期间隔的百分比

时间:2012-07-06 13:38:08

标签: javascript datetime progress-bar

通过javascript,我想基于今天在这两天之间生成完成百分比,我将在jQuery UI进度条上使用此百分比来指示完成或离开的时间。

我尝试过这个公式,但最终总是得到100:

假设我有两个日期:

start = new Date(2012,6,2); // Jul 02 2012
end = new Date(2012,6,8); // Jul 08 2012
today = new Date();

alert( Math.round(100-((end - start) * 100 ) / today) + '%' );

如何正确实现这一目标?

3 个答案:

答案 0 :(得分:3)

由于你从服务器获得unix时间戳,你可以这样做

var start = 1341201600 * 1000,
    end = 1341720000 * 1000,
    now = +new Date;

Math.round(( ( now - start ) / ( end - start ) ) * 100) + "%" //73%

答案 1 :(得分:1)

你的公式应该是

alert( Math.round(100 - (end - today) / (end - start) * 100 ) + '%' );

答案 2 :(得分:0)

我冒昧地调整了评论。

var start = new Date(2012,6,2); // Jul 02 2012
var end = new Date(2012,8,2); // Sep 02 2012
var today = new Date();

var total = end - start;
var progress = today - start;

console.log( Math.round(progress/ total * 100 ) + "%" );

收益率8%[7月6日]