Intl Объект – это пространство имен для API интернационализации ECMASCRICT, которое обеспечивает чувствительное к языку строки, форматирование номеров и форматирование даты и времени.
Как я могу отформатировать дату и время в JavaScript?
Предположим, у нас есть Дата Объект в переменной под названием в настоящее время
const now = new Date();
Если мы войдем это сейчас Переменная в консоли, мы увидим неформатированную строку нашего местоположения конкретной текущей даты и времени со многими ненужными распечатанными информацией.
console.log(now) // Sun Dec 13 2020 10:38:06 GMT+0600 (Bangladesh Standard Time)
Мы можем использовать DateTimeFormat Конструктор Intl объект для быстрого форматирования сейчас Дата объекта для нас и вернуть строку отформатированной даты
const formatDateInBangla = new Intl.DateTimeFormat('bn-BD').format(now);
console.log(formatDateInBangla);
// ১৩/১২/২০২০
DateTimeFormat Конструктор может занять два Параметры ; локаль Или форматирование даты по умолчанию для языка и Опции объекта . Мы поговорим о Опции объекта скоро.
Мы собираемся написать один и тот же фрагмент кода, как в последний раз с
const formatDateInEnglish = new Intl.DateTimeFormat('en-GB').format(now);
console.log(formatDateInEnglish);
// 13/12/2020
Использование объекта параметров
Опции объекта может принять некоторые или все следующие свойства описано здесь.
Чтобы сохранить этот учебник короткой, мы будем только использовать datestyle и графит опции.
Используя datestyle.
Стиль форматирования даты имеет четыре возможных значения:
- ‘полный’
- ‘длинная’
- ‘средний’
- ‘короткая’
На этот раз мы собираемся пройти Опция объекта с datestyle как ключ и «полный» как его ценность.
const option = {
dateStyle: 'full',
}
const formatDate = new Intl.DateTimeFormat('en-GB', option).format(now);
console.log(formatDate);
// Sunday, 13 December 2020
Помните, когда мы говорили о DateTimeFormat Конструкторы способность принимать в два аргумента? Ну, посмотрите внимательно, мы прошли в Опция объекта Мы создали. Что Опция объекта рассказывает конструктору форматировать сейчас Дата объекта в полном объеме в британском стандарте (передается как локаль).
Прохладный! Теперь пришло время проверить остальные три значения datestyle И посмотрите, что они возвращаются!
Используя графилет
Стиль форматирования времени имеет те же четыре возможных значения, что и datestyle имущество.
Наше сейчас Переменная, которая является объектом даты, содержит информацию о время Это было создано на. На этот раз мы собираемся отформатировать сейчас Переменная с использованием графит недвижимость как Только Вариант и посмотрите, что он возвращается к нам.
const formatTime = new Intl.DateTimeFormat('en-GB', {timeStyle: 'short'}).format(now);
// You can pass in the option object inline!
console.log(formatTime);
// 11:38
Ну, это не так красиво, это? Это день или ночь?
Давайте попробуем что-то еще.
const options = {
timeStyle: 'short',
hour12: true,
}
// Obviously you can pass multiple options
const formatTimeNotUgly = new Intl.DateTimeFormat('en-GB', options).format(now);
console.log(formatTimeNotUgly);
// 11:43 am
Я надеюсь, что вы сейчас понимаете, как Отрицательный DateTimeFormat Конструктор работает, Пожалуйста, прочитайте эту документацию MDN для глубокого понимания Intl. DateTimeFormat.
Оригинал: “https://dev.to/shafiemoji/format-date-and-time-with-javascript-13hf”