Функция Moment JS TimeA go, когда передана непустая строка - PullRequest
0 голосов
/ 02 апреля 2020

Так что мне нужно было moment("2000/03/23", "YYYY/MM/DD").fromNow(), чтобы вернуть «20 лет» вместо «20 лет go», поэтому я решил передать строку. Оказывается, что передача любой непустой строки (ie. moment("2000/03/23", "YYYY/MM/DD").fromNow("blah")) удаляет «a go» из возвращаемой строки .. так что тогда вы можете просто добавить «old» в конец результата.

let age = moment("2000/03/23", "YYYY/MM/DD").fromNow("blah") + " old";

Я предполагаю, что это недокументированный, ненадежный результат? Почему он это делает?

EDITED : заменил timeA go на fromNow - функцию, которую я фактически использовал в своем коде, но перепутал.

1 Ответ

0 голосов
/ 02 апреля 2020

Вы хотите обновить формат вашего fromNow, затем вы можете обновить относительное время updateLocale.

moment.updateLocale("en", {
 relativeTime: {
    future: "in %s",
    past: "%s old",
    s: "a few seconds",
    ss: "%d seconds",
    m: "a minute",
    mm: "%d minutes",
    h: "an hour",
    hh: "%dh",
    d: "a day",
    dd: "%d days",
    M: "a month",
    MM: "%d months",
    y: "a year",
    yy: "%d years"
  }
});
let age = moment("2000/03/23 8:15:00", "YYYY/MM/DD hh:mm:ss").fromNow();
console.log(age);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
...