Time to X2.10.3+

  1. moment().to(Moment|String|Number|Date|Array);
  2. moment().to(Moment|String|Number|Date|Array, Boolean);

You may want to display a moment in relation to a time other than now. In that case, you can use moment#to.

  1. var a = moment([2007, 0, 28]);
  2. var b = moment([2007, 0, 29]);
  3. a.to(b) // "in a day"

The first parameter is anything you can pass to moment() or an actual Moment.

  1. var a = moment([2007, 0, 28]);
  2. var b = moment([2007, 0, 29]);
  3. a.to(b); // "in a day"
  4. a.to([2007, 0, 29]); // "in a day"
  5. a.to(new Date(2007, 0, 29)); // "in a day"
  6. a.to("2007-01-29"); // "in a day"

Like moment#toNow, passing true as the second parameter returns value without the suffix. This is useful wherever you need to have a human readable length of time.

  1. var start = moment([2007, 0, 5]);
  2. var end = moment([2007, 0, 10]);
  3. end.to(start); // "5 days ago"
  4. end.to(start, true); // "5 days"

From version 2.10.3, if any of the endpoints are invalid the result is thelocalized Invalid date string.