Page 250 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 250
ГЛ В А 5
1
А
Д а т а и вр е м я
В большинстве реальных приложений используются данные о дате и времени.
К сожалению, объект JavaScript Date (который хранит данные о дате и времени) не
является одним из шедевров языка. Из-за ограниченного удобства этого встроен
ного объекта я буду использовать Moment . j s, который наследует функциональные
возможности объекта Date, для реализации наиболее популярных функциональных
возможностей.
Интересный исторический факт: объект JavaScript Date был первоначально ре
ализован программистом Netscape Кеном Смитом (Ken Smith); он, по существу,
перенес в JavaScript реализацию j ava . util . Date из языка Java. Таким образом, ут
верждение, что язык JavaScript не имеет никакого отношения к Java, не полностью
соответствует действительности: если вас когда-либо спросят, имеют ли эти языки
что-то общее, можете сказать "Очень немногое, кроме объекта Date и общего син
таксического предка':
Поскольку регулярно повторять слова "дата и время" утомительно, далее я буду
использовать термин "дата': Дата без явного указания времени будет подразумевать
1 2 :00 утра текущего дня.
Даты, часовые пояса, време н н ы е метки и э п охи U n i x
Давайте посмотрим правде в глаза: наш современный Григорианский кален
дарь - капризный, сверхсложный, нумеруемый начиная с 1, с нечетной кратностью
времени и високосными годами. Часовые пояса добавляют еще больше сложности.
Однако эта система по большей части универсальна и нам с ней жить.
Давайте начнем с чего-то простого: с секунд. В отличие от сложного деления вре
мени в Г р игорианском календаре, секунды просты. Дата и время (представленные
в секундах) являются одним числом, аккуратно упорядоченным на числовой оси.
Поэтому представление даты и времени в секундах идеально подходит для вычисле
ний. Но для коммуникаций между людьми подходит не очень хорошо: "Эй, Байрон,
пообедаем в 1437595200?" 1 437595200 - это среда, 22 июля 201 5 года, 1 час по по
(
лудни тихоокеанского времени.) Но если даты представляются секундами, то чему

