日期之间经过的时间

时间:2013-11-06 09:06:10

标签: javascript jquery

我需要知道两个日期之间剩余的百分比。

我用过这段代码:

$(function () {
    var end = $('#data').text();
    var formattedDate = new Date();
    var day = formattedDate.getDate();
    var month = formattedDate.getMonth();
    month += 1;
    var year = formattedDate.getFullYear();
    if (day < 10) {
        day = "0" + day;
    }
    if (month < 10) {
        month = "0" + month;
    }
    var today = day + "/" + month + "/" + year;
    remaining = Math.round(((end - today) * 100) / today));
    alert(remaining);
});

但它确实无效。 有什么建议吗? 感谢

1 个答案:

答案 0 :(得分:3)

你正在减去两个字符串,这就是为什么它不起作用。

减去两个Date对象,你会得到它们之间的毫秒数(忽略你定义为2个日期的%的数学数据)。

var now = new Date();
var then = new Date($('#data').text());

var remaining = Math.round(((then - now) * 100) / now);

当然,您仍然可以通过;

获取格式化的DD / MM / YY字符串
var formattedDays = (now.getDay() < 10 ? "0" : "") + now.getDay();
var formattedMonth = (now.getMonth() < 9 ? "0" : "") + (now.getMonth() + 1);
var formattedDate = formattedDays + "/" + formattedMonth + "/" + now.getFullYear();

请注意,您的Math.round()行末尾还有一个额外的右括号。