moment().to(Moment|String|Number|Date|Array);
moment().to(Moment|String|Number|Date|Array, Boolean);
可能想要显示 moment 与现在以外的时间的相对时间。
在这种情况下,可以使用 moment#to
。
var a = moment([2007, 0, 28]);
var b = moment([2007, 0, 29]);
a.to(b) // "1 天内"
第一个参数是可以传给 moment()
的任何值或实际的 Moment
。
var a = moment([2007, 0, 28]);
var b = moment([2007, 0, 29]);
a.to(b); // "1 天内"
a.to([2007, 0, 29]); // "1 天内"
a.to(new Date(2007, 0, 29)); // "1 天内"
a.to("2007-01-29"); // "1 天内"
与 moment#toNow
一样,将 true
用作第二个参数会返回不带后缀的值。
无论何时需要有可读的时间长度,这都非常有用。
var start = moment([2007, 0, 5]);
var end = moment([2007, 0, 10]);
end.to(start); // "5 天前"
end.to(start, true); // "5 天"
从 2.10.3 版本开始,如果任一端点无效,则结果为本地化的无效日期字符串。
moment().to(Moment|String|Number|Date|Array);
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
.
var a = moment([2007, 0, 28]);
var b = moment([2007, 0, 29]);
a.to(b) // "in a day"
The first parameter is anything you can pass to moment()
or an actual Moment
.
var a = moment([2007, 0, 28]);
var b = moment([2007, 0, 29]);
a.to(b); // "in a day"
a.to([2007, 0, 29]); // "in a day"
a.to(new Date(2007, 0, 29)); // "in a day"
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.
var start = moment([2007, 0, 5]);
var end = moment([2007, 0, 10]);
end.to(start); // "5 days ago"
end.to(start, true); // "5 days"
From version 2.10.3, if any of the endpoints are invalid the result is the localized Invalid date string.