Давайте рассмотрим альтернативу moment.js в Javascript.

Фон

В одном из наших проектов laravel после обновления зависимостей сборка докера внезапно начала выдавать ошибку moment.js.

При отладке я заметил, что moment.js теперь находится в режиме обслуживания и рекомендует использовать разные библиотеки в качестве альтернативы.

Поскольку наши требования к дате и времени не очень сложны, мы решили использовать объект JavaScript по умолчанию Date() и придумали эту статью.

Если вы находите готовые решения для date and time utilities, эта статья для вас.

Давайте создадим решения для даты и времени…

Чему вы научитесь?

  • Получить год, месяц, число, день и время
  • Первый и последний день месяца
  • Сложение и вычитание дня, месяца, года, времени
  • Получить и установить часовой пояс для даты
  • Получить даты в различных форматах

Введение

Date() — это объект javascript, который содержит все свойства даты и времени, как показано ниже,

new Date(year, month, day, hours, minutes, seconds, milliseconds);

Мы можем получить currentDate как,

const cDate = new Date();

Internationalize API (Intl) очень полезен для преобразования даты и времени.

1. Получить год, месяц, число, день и время

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

Точно так же это позволяет нам установить все свойства на заданную дату, используя setFullYear(), setMonth(), setDate() и т. д.

2. Первый день месяца

Для первого дня месяца просто установите год и месяц.

3. Последний день месяца

Для первого дня месяца добавьте 1 к месяцу (что означает следующий месяц) и дату как 0.

4. Добавить день, месяц, год, время

Мы изучили методы set данного Date, чтобы добиться этого, как показано ниже:

5. Вычтите день, месяц, год, время

Точно так же мы можем выполнить вычитание на заданную дату.

6. Получите и установите часовой пояс

Вы можете легко получить текущий часовой пояс, используя Intl’s resolveOptions.

Intl.DateTimeFormat().resolvedOptions().timeZone

Вы можете получить cDate или любую другую дату в заданном часовом поясе.

cDate.toLocaleString('en-US', {
    timeZone: 'your timezone',
}),

Окончательный код будет,

7. Получайте даты в различных форматах

Мы будем использовать метод toLocaleString(), реализованный с поддержкой Intl.DateTimeFormat API.

Связанные популярные статьи







Спонсор



Спасибо за любовь, которую вы показываете!

Если вам нравится то, что вы читаете, не упустите шанс поставить 👏 👏👏 ниже — для писателя это означает мир!

Отзывы и предложения приветствуются, добавляйте их в разделе комментариев.

Подпишитесь на Canopas, чтобы получать новости об интересных статьях!