javascript - Moment .JS - 为什么差异不是全年格式
问题描述
对于以下 JavaScript,我期望输出为 1,但事实并非如此,有什么解释吗?
var startDate = moment('2018-01-01');
var endDate = moment('2018-12-31');
moment.duration(endDate.diff(startDate)).asYears()
0.9965981505438167
什么开始日期和结束日期会给出一整年?
解决方案
这是因为 diff 以毫秒为单位为您提供差异,然后以年为单位重新计算,为您提供 0.99.. 值
为了获得不同的年份,您可以这样做:
endDate.diff(startDate, 'year');
你会得到想要的 1
推荐阅读
- javascript - 该函数运行的次数超过了它应该运行的次数
- sql-server - #WPF ToastNotifications 返回 2 个异常
- python - 从 django 中的用户输入数据有效地创建对象
- python - Python 不会执行我输入的命令
- python - 您如何获得给定专利的详细描述文本?
- vba - 尝试单击日期网格上的日期字段
- python - 如何索引给定字符串中的多个空格?
- arrays - 如何在对象内部排序并减去MongoDB中对象内部的值
- php - Laravel 8 门不适用于 Auth::guard
- continuous-integration - 如何在 Kentico 13 中使用 CI 减少暂存任务