MomentJs自定义.fromNow()

时间:2017-08-03 10:15:55

标签: javascript momentjs

我需要自定义moment([2018,1,1]).fromNow()行为。

要求是:

  • 如果间隔<= 60天,请使用“天”。
  • 如果间隔是> 60天和<= 2年之后,使用“月”
  • 如果间隔是> 2年,使用“年”
  • 我的日/月/年应该本地化

我想到的一个工作是:

getCountDown(){
  const targetDate = Moment(myFutureDate);
  const diffInDays = Math.abs(Moment().diff(targetDate, 'days'));
  if(diffInDays <= 60) return diffInDays;

  const diffInMonths = Math.abs(Moment().diff(targetDate, 'months'));
  const diffInYears = Math.abs(Moment().diff(targetDate, 'years',true));

  if(diffInDays > 60 && diffInYears <= 2) return diffInMonths;

  return diffInYears;
}

显然我只得到这个的整数值,而且我没有天/月/年的本地化字符串。我可以自己添加它们,但作为一名程序员,这感觉太过于苛刻和冗长。

有没有人有关于如何使用MomentJs更有效地做到这一点的建议?起初我正在查看.fromNow(),但我在文档中找不到任何自定义的可能性。 (或者我没有看到如何构建一些函数来实现我的目标)

感谢您的时间。

0 个答案:

没有答案