【问题标题】:How to get difference between two dates in years and months using Moment.js?如何使用 Moment.js 在年份和月份中获取两个日期之间的差异?
【发布时间】:2019-06-18 08:51:40
【问题描述】:

我目前正在使用以下行获取月份中两个日期之间的差异:

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

因此,我得到了一个整数,它以月数显示持续时间。现在我想改变输出的格式,并完全按照以下格式显示:

2 years, 3 months

或者如果年份或月份为 1 则:

1 year, 1 month

我怎样才能重新格式化我的生产线,以便得到想要的结果?

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

【问题讨论】:

标签: javascript momentjs


【解决方案1】:

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

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

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

【讨论】:

  • 我如何在_result中发送这个?我如何声明 _result 才能正确获得这样的输入?
  • _result = Math.floor((Math.abs(moment(date1).diff(moment(date2), 'months')) + 1)/12) + " years, " + (Math.abs(moment(date1).diff(moment(date2), 'months')) + 1) % 12 + " months"怎么样
  • 您遇到的错误是什么?试过了,我没有错误
  • 知道了!放置括号时有一个小错误。我修复了它,现在我得到了想要的结果。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-09
  • 1970-01-01
  • 2020-08-13
相关资源
最近更新 更多