Moment js diff string - PullRequest
       4

Moment js diff string

0 голосов
/ 06 июня 2019

Предположим, у нас есть две даты в Javascript, 2019-05-01 и 2019-05-23.Каков наиболее эффективный способ создания строки diff с помощью moment.js (или собственной даты JS), которая выглядит следующим образом:

1 - 23 May 2019

Решение также должно работать в разные месяцы и годы, например:

2019-05-01 и 2019-06-12

1. May - 12. June 2019

2018-05-01 и 2019-06-12

1. May 2018 - 12. June 2019

В основном только части даты должны бытьотображаются, которые отличаются в удобочитаемом формате.Есть ли что-то встроенное в данный момент, как создание новой функции с парой условий, если для меня это выглядит неправильно?Это в основном должно работать для каждой команды.Я уверен, что я не первый, кто сталкивается с этой проблемой, и в данный момент есть вспомогательная функция, например,

moment('2019-05-01').calculateSpan('2019-06-12').format('D MMMM YYYY');

1 Ответ

0 голосов
/ 06 июня 2019
const Date1 = moment(new Date("2018-04-01"));
const Date2 = moment(new Date("2019-05-23"));

/**
 * @return {string}
 */
function ReadableDate(date1, date2) {
    let month = "";
    let year = "";
    if (date1.month() !== date2.month()) {
        month = date1.format("MMM")
    }
    if (date1.year() !== date2.year()) {
        year = date1.format("YYYY");
    }
    return date1.format("D") + (month && ". ") + month + (year && " ") + year + " - " + date2.format("DD MMM YYYY");
}



let str = ReadableDate(Date1, Date2);

Подробнее о моментном форматировании

...