Moment.js 也有持续时间对象。 当 moment 定义为单个时间点,持续时间定义为时间长度。
持续时间没有定义的开始和结束日期。 它们是无上下文的。
持续时间在概念上更类似于 '2 hours' 而不是 'between 2 and 4 pm today'。 因此,它们不是在依赖上下文的单位之间进行转换的好解决方案。
例如,一年可以定义为 366 天、365 天、365.25 天、12 个月或 52 周。 没有上下文,试图将年转换为天是没有意义的。 与使用 Durations 相比,使用 moment#diff 计算两个 moment 之间的天数或年数要好得多。
作为 在这里讨论,Moment.js 的持续时间格式与 ISO 8601 标称持续时间和 RFC 5545 持续时间的规范略有不同。