Библиотека обработки даты moment.js

внешний интерфейс JavaScript Открытый исходный код

«Moment.js — это библиотека манипулирования датами JavaScript для синтаксического анализа, проверки, манипулирования и отображения дат». - Официально сказано

Эта библиотека обработки данных в основном реализует принцип «маленький и красивый».В основном, есть операции и форматирование дат, о которых вы только можете подумать, поддержка преобразования нескольких языков и официальные китайские документы.

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

Адрес официального документа: http://momentjs.cn/docs/. В документе слишком много методов. Вот несколько часто используемых методов, включая построение объекта даты, форматирование даты, добавление и вычитание даты, а также дату , год, месяц и день Замена может в основном реализовать все функции, которые должен иметь календарь.

moment(string)

  • Возвращает объект типа moment, который эквивалентен конструктору объекта даты.
  • Вы можете проверить правильность даты и распознать разные строки
  • Если параметр не указан, вернуть сегодня по умолчанию
moment('2017 02 03')
moment('2017-1-3')
moment('2017 1 1')

[moment].format('YYYY-MM-DD')

  • Получение момента типа, возвращает строку отформатированной
  • Параметр определяет, как форматировать строку (см. официальную документацию для получения подробной информации о входных параметрах).
moment('2018 1 1').format('YYYY-MM')
=> '2018-01'

moment().format("dddd, MMMM Do YYYY");
=> "Sunday, February 14th 2010"

[moment].add(num, 'year/month/days')

  • привет плюс один
  • Первый параметр — количество, которое необходимо добавить, второй параметр — добавляемый объект.
moment('2018-01-01').add(2, 'year')
=> '2020-01-01'

[moment].subtract(num, 'years/months/days')

  • минус один

[moment].set('year/month/date', num)

  • Пусть установленная часть будет num
  • Обратите внимание, что месяц 0-11
  • Преимущество использования этого для установки года, месяца и дня заключается в том, что будут покрыты некоторые недопустимые значения, такие как
moment('2013-01-31').set('month', 1).format('YYYY-MM-DD')
=> '2013-02-28' //二月只到28号

[moment].diff([moment], 'days/months/years')

  • Рассчитать разницу день/месяц/год
moment(departureDate).diff(moment(), 'days');

[moment].isBetween(string, string)

  • находится ли объект момента между двумя строками даты
moment().isBetween(item.startDate, item.endDate)

[moment].isSame('2010-10-20')

  • Сравните, совпадают ли две даты
moment('2010-10-20').isSame('2010-10-20')

Выше приведены лишь некоторые методы, основанные на моем личном опыте. Подробные параметры и дополнительные методы см. в официальной документации http://momentjs.cn/docs/

Я очень ценю эту библиотеку, функциональное написание очень свежее, вы можете узнать, что могут делать методы, просто взглянув на название, граничная защита хорошо написана, а исходный код также аккуратно разделен на функциональные модули, что заставляет людей очень удобно изнутри.