javascript - Moment .JS - 为什么差异不是全年格式

标签 javascript momentjs

对于下面的 JavaScript,我期望输出为 1 但它不是,有什么解释吗?

var startDate = moment('2018-01-01');
var endDate = moment('2018-12-31');

moment.duration(endDate.diff(startDate)).asYears()

0.9965981505438167

什么开始日期和结束日期会给出 1 整年?

最佳答案

这是因为 diff 以毫秒为单位为您提供差异,然后以年为单位重新计算,为您提供 0.99.. 值

为了让年份有所不同,您可以这样做:

endDate.diff(startDate, 'year');

你会得到1个想要的

关于javascript - Moment .JS - 为什么差异不是全年格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58454898/

相关文章:

javascript - 表单不提交回调

javascript - currDateEnd.setHours 不是函数

javascript - 如何在 Moment.js 中设置日期格式

javascript - 设置日期的年、月、日、时、分、秒和 UTC 偏移值

javascript - body 事件未触发

javascript - 通过 id 隐藏 HTML 元素

javascript - 只在必要时断字

javascript - 网站是否可以在需要 Javascript 的情况下仍然符合第 508 条规定?

javascript - 迭代日期数组的函数会产生意想不到的结果

javascript - 尝试在 moment.js 中转换 RFC2822 日期时出现 “Deprecation warning: moment construction falls back to js Date”