我目前正在使用以下行,以月份为单位的两个日期之间的差额:

_result = Math.abs(moment(date1).diff(moment(date2), 'months')) + 1;

结果,我得到了一个整数,该整数以月数显示持续时间。现在,我想更改输出的格式,并将其确切显示为以下格式:

2 years, 3 months

或如果年或月为1,则:

1 year, 1 month

如何重新格式化生产线,以便获得理想的结果?

注意:
正如我上面提到的,我可以在几个月内获得价值。我可以轻松地将其更改为几天或几年而不是几个月。但是这里的问题是我想以上述格式显示,即以年和月为单位。

最佳答案

您可以使用除法和余数函数

var years = Math.floor(months/12);
var months = months % 12;

_result = years + " years, " + months + " months"

10-08 15:28