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
   251   252   253   254   255   256   257   258   259   260   261