Полезный и гибкий способ форматирования DateTimes в JavaScript Intl.DateTimeFormat
:
var date = new Date();
var options = { year: 'numeric', month: 'short', day: '2-digit'};
var _resultDate = new Intl.DateTimeFormat('en-GB', options).format(date);
// The _resultDate is: "12 Oct 2017"
// Replace all spaces with - and then log it.
console.log(_resultDate.replace(/ /g,'-'));
Результат "12-Oct-2017"
Форматы даты и времени можно настроить с помощью аргумента параметров.
Intl.DateTimeFormat
Объект является конструктором для объектов , которые позволяют язык чувствительной дату и время форматирования.
Синтаксис
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
параметры
локали
Необязательный. Строка с языковым тегом BCP 47 или массив таких строк. Для общей формы и интерпретации аргумента locales см. Страницу Intl. Разрешены следующие ключи расширения Unicode:
nu
Numbering system. Possible values include: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Calendar. Possible values include: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
Опции
Необязательный. Объект с некоторыми или всеми из следующих свойств:
localeMatcher
Алгоритм сопоставления локали для использования. Возможные значения "lookup"
и "best fit"
; по умолчанию это "best fit"
. Информацию об этой опции смотрите на странице Intl.
часовой пояс
Часовой пояс для использования. Единственное значение, которое реализации должны распознавать, это "UTC"
; по умолчанию используется часовой пояс по умолчанию. Реализации могут также распознавать имена часовых поясов базы данных времени IANA зоны, такие как "Asia/Shanghai"
, "Asia/Kolkata"
,"America/New_York"
.
hour12
Использовать ли 12-часовое время (в отличие от 24-часового). Возможные значения true
и false
; значение по умолчанию зависит от локали.
formatMatcher
Алгоритм сопоставления формата для использования. Возможные значения "basic"
и "best fit"
; по умолчанию"best fit"
. См. Следующие параграфы для получения информации об использовании этого свойства.
Следующие свойства описывают компоненты даты и времени для использования в форматированном выводе и их требуемые представления. Реализации должны поддерживать как минимум следующие подмножества:
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
Реализации могут поддерживать другие подмножества, и запросы будут согласовываться со всеми доступными комбинациями подмножеств-представлений, чтобы найти наилучшее совпадение. Для этого согласования доступны два алгоритма, которые выбираются свойством formatMatcher."basic"
алгоритм и зависящий от реализации алгоритм «наилучшего соответствия».
будний день
Представление дня недели. Возможные значения "narrow"
, "short"
, "long"
.
эпоха
Представление эпохи. Возможные значения "narrow"
, "short"
, "long"
.
год
Представление года. Возможные значения "numeric"
, "2-digit"
.
месяц
Представление месяца. Возможные значения "numeric"
, "2-digit"
, "narrow"
, "short"
, "long"
.
день
Представление дня. Возможные значения "numeric"
, "2-digit"
.
час
Представление часа. Возможные значения "numeric"
, "2-digit"
.
минут
Представление о минуте. Возможные значения "numeric"
, "2-digit"
.
второй
Представление второе. Возможные значения "numeric"
, "2-digit"
.
TimeZoneName
Представление названия часового пояса. Возможные значения "short"
, "long"
. Значение по умолчанию для каждого свойства компонента даты и времени не определено, но если все свойства компонента не определены, то предполагается, что год, месяц и день равны "numeric"
.
Проверить онлайн
Подробнее