我正在尝试使用此函数在 JS 中计算剩余时间(例如:从今天(2014 年 3 月 2 日)起的 10 年、2 个月和 10 天:
var d2 = new Date(2024, 3, 12);
var d1 = new Date();
var d0 = new Date(1970, 0, 1);
var diff = new Date(d2.getTime() - (d1.getTime() + d0.getTime() ) );
var years = diff.getFullYear();
var months = diff.getMonth();
var days = diff.getDay();
alert("remaining time = " + years + " years, " + months + " months, " + days + " days.");
但是我没有得到 10 年的差异,而是得到了 1980 年的差异(尽管我理解的天数差异是购买月份和年份的天数变化):
是否可以使用此策略执行此“剩余时间”操作?如果是这样,如何获得预期的结果?
这里是 JS shell 中的函数:jsfiddle.net/3ra6c/