javascript - 两个日期与今天相比的百分比

标签 javascript

我正在创建一个包含里程碑的 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);

演示:http://jsfiddle.net/zz4c16fx/6/

关于javascript - 两个日期与今天相比的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29839270/

相关文章:

Javascript - 在函数参数中返回另一个函数

javascript - JS 异步并等待在 Internet Explorer 中工作

javascript - Firefox-57 : hides audio element when height is supplied through css but works on other browsers and versions

javascript - typescript :导入模块,导致新模块?

javascript - 如何为带有验证的表单中的所有字段提供相等的宽度?

javascript - 发布到 firebase 时,Angular 无法读取未定义的属性推送

javascript - 如何处理 backbone.js 中的服务器错误?

javascript - 如何使用 Path2D (或任何形状抽屉)在 Java 中绘制 SVG 路径点?

javascript - 你会如何调试这个 javascript 问题?

javascript - 在 Javascript 中,最好是 JQuery,当用户在浏览器中单击 "back"按钮时,如何向 URL 添加内容?