我正在创建一个包含里程碑的 UI,我将使用进度条来显示它。
我正在尝试计算我们从里程碑设定完成之日到今天的百分比。
例如,如果我有一个名为“Live to Site”的里程碑,设置为在 2015 年 12 月 1 日发生,并且我将里程碑放在 1 月 1 日,我想确定我们从开始日期到结束日期。
fiddle :http://jsfiddle.net/zz4c16fx/2/
var start = new Date(2015,0,1), // Jan 1, 2015 - The date we put this milestone in
end = new Date(2015,7,24), // June 24, 2015 - The date the milestone is due
today = new Date(), // April 23, 2015
p = Math.round(100-((end - start) * 100 ) / today) + '%';
// Update the progress bar
$('.bar').css( "width", p ).after().append(p);
那是我的尝试,但要么我的数学有误,要么我的想法不正确。它返回的数字是 99%
。鉴于我们距离今天还有 1.5 个月,我觉得这个数字应该更低。
我的最终结果是显示一个进度条,显示给定开始日期、结束日期和今天的完成日期。
最佳答案
试试这个:
var start = new Date(2015, 0, 1), // Jan 1, 2015
end = new Date(2015, 7, 24), // August 24, 2015
today = new Date(), // April 23, 2015
p = Math.round(((today - start) / (end - start)) * 100) + '%';
// Update the progress bar
$('.bar').css("width", p).after().append(p);
关于javascript - 两个日期与今天相比的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29839270/