通过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) + '%' );
如何正确实现这一目标?
答案 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日]