我需要知道两个日期之间剩余的百分比。
我用过这段代码:
$(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);
});
但它确实无效。 有什么建议吗? 感谢
答案 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()
行末尾还有一个额外的右括号。