Page 256 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 256
то осуществить форматирование самостоятельно будет довольно сложно. К счастью,
библиотека Moment . j s хороша в этой области, и если вы требовательны к отображе
нию даты, то я рекомендую использовать именно ее.
Для форматирования даты используйте метод format библиотеки Moment . j s. Он
получает строку из метасимволов, которые заменяются соответствующим компонен
том даты. Например, строка "УУУУ" будет заменена четырехразрядным годом. Вот
несколько примеров форматирования даты встроенными методами объекта Da te
и более надежными методами Moment . j .
s
const d = new Date { D a e . U TC { 1 9 3 0 , 4 , 1 0 ) ) ;
t
1 1 здесь представлен вывод для Лос-Анджелеса
d . toLocaleDateString { ) 1 1 "5/9/1 930 "
d . toLocaleFormat { ) 1 1 "5/9/1 930 4 : 0 0 : 0 0 РМ"
d . toLocaleTimeString { ) 11 "4 : 0 0 : 00 Р М"
d . toTimeString { ) 1 1 "1 7 : 0 0 : 0 0 GМТ-0 700 (Pacific Daylight Time) "
d . toUTCString { ) 1 1 "Sa t , 1 0 Мау 1 9 30, 00 : 0 0 : 0 0 GМТ"
11
moment { d) . format { 11УУУУ-ММ-DD ) ; 1 1 "1 930-05-09"
moment { d ) . f ormat { 11YYYY-ММ-DD HH : m m" ) ; 1 1 "1930-05-09 1 7 : 0 0
moment { d ) . f ormat { " YYYY-ММ-DD HH :mm Z ) 11 ; 1 1 "1 930-05-09 1 7 : 0 0 -0 7 : 00
moment { d ) . f ormat { " YYYY-ММ-DD HH :mm [ U TC] Z 1 1 ) ; 1 1 "1 930-05-09 1 7 : 0 0 ИТС- 0 7 : 00
moment { d ) . f ormat { "dddd, ММММ [ t he ] Do , УУУУ 1 ) 1 ; 1 1 "Friday, Мау the 9th, 1 9 30 "
moment { d ) . f ormat { " h : m m а" ) ; 1 1 "5 : 0 0 рт "
В этом примере продемонстрировано, насколько противоречивы и мало гибки
встроенные возможности форматирования даты. К чести JavaScript следует заметить,
что эти встроенные параметры форматирования действительно пытаются обеспе
чить формат, подходящий для региона пользователя. Если необходимо обеспечить
форматирование даты в нескольких регионах, то это недорогой, хотя и не гибкий,
способ сделать это.
Не будем приводить здесь полный справочник по опциям форматирования
Moment . j s; он доступен в сетевой документации. Достаточно будет сообщить, что,
если у вас есть потребность в форматировании дат, то Moment . j s почти наверняка
поможет в этом. У нее есть некие общие соглашения по форматированию дат, подоб-
ные многим метаязыкам. Чем больше символов, тем подробнее, т.е. "М" даст 1, 2, 3 ... ;
"ММS" - 01, 02, 3 ... ; "МММ" - Jan, Feb, Mar .. ; а "ММММ" - January, February, March ... .
.
0
З
Символ "о" в нижнем регистре обеспечит числительные: так "Do" даст lst, 2nd, r d
и т.д. Если вы хотите включить символы, которые не нужно интерпретировать как
метасимволы, заключите их в квадратные скобки: " [ М ] М" даст Ml, М2 и т.д.
Отображение дат 259

