Недавно я оказался счастливым получателем длинной, длинной строки данных. (Эти ребята из SAP всегда знают, что подарить мне на Рождество.) Часть истории, над которой я работал, включала анализ этих данных и отображение даты для каждого элемента на странице.

Это привело к глубокому изучению того, как Javascript обрабатывает даты, и именно об этом мы сегодня поговорим. Данные, которые я получал через API, были примерно такими, как показано ниже (упрощено, чтобы сосредоточиться на датах):

Формат даты — довольно типичный способ получения данных, но наши пользователи не хотят видеть его на экране. «20170909» ничего не значит для жителей США. И хотя вы, безусловно, можете нарезать, соединить и заменить свой путь к более значимому формату даты, гораздо лучше воспользоваться преимуществами методов форматирования данных, которые Javascript уже создал для вас.

Использование объекта даты

Первое, что вам нужно сделать, когда у вас есть строка даты, — отформатировать ее в один из четырех допустимых входных данных даты.

ИСО: «2017–10–09»

Коротко: «15.10.2017»

Длинное: «10 октября 2017 г.»

Полное: «Вторник, 10 октября 2017 г.»

В моем случае данные, которые я получил, имели даты в строке, которая была довольно близка к входным данным ISO. Все, что потребовалось, это быстрая функция forEach, чтобы установить их:

Когда у вас есть дата в приемлемом формате, вы можете превратить ее в объект даты Javascript:

Как только вы там, вы золотой. Теперь вы можете воспользоваться многочисленными методами даты в Javascript для вывода даты на экран желаемым образом.

В моем случае мне нужен формат даты, например «ММ/ДД/ГГГГ», поэтому я выбрал LocaleDateString. Мое окончательное решение выглядело так: