Использование лучшей библиотеки дат в мире
Есть простой способ делать что-то, а есть трудный способ. Я из тех людей, которые предпочитают легкий путь. Обычно меньше кода для меня означает, что это легкий путь.
Если вы новичок в moment.js, то рекомендую его немного почитать ». Кроме того, вам нужно будет установить или импортировать в рабочее пространство moment.js.
Мы собираемся воспользоваться преимуществами двух простых функций, которые дает нам moment.js. Это функции .add()
и .diff()
.
Вот краткая документация по их использованию.
.Добавить()
moment().add(Number, String); moment().add(Duration); moment().add(Object);
Функция принимает три разных формата параметров.
Число и строка
Число указывает количество единиц, а строка представляет тип единицы.
Продолжительность
Duration
принимает объект длительности момента.
Объект
Объект формата {‘unit’: number}. Здесь вы можете указать несколько единиц.
Примеры того, как они используются:
moment().add(7, 'days’); moment().add({ days:7, months:1 }); // with object literal Const duration = moment.duration({'days' : 1}); moment().add(duration);
.diff ()
moment().diff(Moment|String|Number|Date|Array); moment().diff(Moment|String|Number|Date|Array, String); moment().diff(Moment|String|Number|Date|Array, String, Boolean);
Функция принимает три разных параметра, два из которых являются необязательными.
Первый параметр
Может быть одним из следующих: Moment
, String
, Number
, Date
, Array
Второй параметр
Строковое значение, представляющее значение для сравнения.
Третий параметр
Указывает, хотите ли вы разрешить значение floating-point
в качестве возвращаемого значения (в противном случае оно будет округлено до ближайшего целого числа).
Примеры того, как они используются:
Const a = moment().add(2, ‘year’); Const b = moment(); a.diff(b, 'years’); // returns 2 Const a = moment(); Const b = moment().add(1, 'seconds'); a.diff(b) // -1000 b.diff(a) // 1000
Давайте использовать их
Сгенерируйте массив лет:
const YEARS = () => { const years = [] const dateStart = moment() const dateEnd = moment().add(10, 'y') while (dateEnd.diff(dateStart, 'years') >= 0) { years.push(dateStart.format('YYYY')) dateStart.add(1, 'year') } return years } console.log(YEARS())
Сгенерируйте массив месяцев:
const MONTHS = () => { const months = [] const dateStart = moment() const dateEnd = moment().add(12, ‘month') while (dateEnd.diff(dateStart, ‘months') >= 0) { months.push(dateStart.format(‘M')) dateStart.add(1, ‘month') } return months } console.log(MONTHS())
Сгенерируйте массив дней:
const DAYS = () => { const days = [] const dateStart = moment() const dateEnd = moment().add(30, ‘days') while (dateEnd.diff(dateStart, ‘days') >= 0) { days.push(dateStart.format(‘D')) dateStart.add(1, ‘days') } return days } console.log(DAYS())
Заключение
Надеюсь, вы нашли эту информацию полезной. Moment.js - действительно мощная библиотека, в которой есть много других интересных функций.
Ваше здоровье!