Вопрос времени: как делать date format и где искать date essence

Время не прерывается никогда. В контексте программирования оно имеет начало, содержание и конец. Как только начинается работа, запущена программа, включился скрипт, открылся сайт... Сначала время в программировании стало «данным», то есть «ничем», однако спустя много лет от начала вернуло себе законный статус.

Компьютерное дело началось с таймера (любой процессор работает по таймеру): без четких временных сигналов ни цифровое, ни аналоговое, ни естественное - просто не существует. Время всегда и во всем присутствует, но от того, как это представляется и учитывается, зависит и качество программы, и, что очень важно порой, то, насколько долго она будет существовать.

Философия времени, имеющая существенное значение

В разные периоды разные языки по-разному воспринимали фактор времени и имели определенный формат даты. Но если не брать системы реального времени прошлого, то понимание в надлежащем значении (в массовом, прежде всего) пришло совсем недавно.

Поначалу реальная действительность слабо отражалась в программировании. Разработчики стремились выполнить задачу, но не всегда отдавали себе отчет в том, насколько время имеет значение.

Удивительно, но даже в мыслях ни у кого не было: многие разработчики и пользователи программ даже не думали в конце прошлого века, что проблема количества цифр в обозначении года в date format будет иметь катастрофическое значение.

Только когда 2000 год приблизился, все вдруг задумались о том, что рамки формального бывают тесными, и не только для того, что программист придумал сам для себя, разрабатывая свой алгоритм.

Когда страсти по количеству цифр в году утихли, возникла новая идея: локализация. Оказалось, что дата очень зависит от места своего применения, и понятие date format окончательно перешло из простых представлений в категорию структурированных данных.

Космические задачи и математические вычисления

Несомненный успех Фортрана, языка, которому приписывается изначальный уклон в сторону больших вычислений, вызвал к жизни только одно следствие. Компьютер был недостаточно быстр, чтобы раскладывать кривые по трапециям, вычисляя дифференциалы и интегралы. Не всем понятен глубокий смысл высшей математики, но время, которое компьютер затрачивает на обработку иной формулы, замечают все.

Обработка временных данных в больших объемах или на большие расстояния приобретает существенный временной фактор: ошибка вполне может быть равна стоимости космического корабля, улетевшего не в том направлении, только потому, что в нужный момент времени не включился тот или иной двигатель.

Формат даты JavaScript (язык браузера)

Возможно, интернет стал причиной роста интереса ко времени как к непрерывному и существенному данному, это уже не столь важно. Все современные языки программирования имеют в качестве временного элемента объект или структуру, оснащенные надлежащей структурой и собственной семантикой.

В частности, на языке браузера JavaScript date format выглядит как объект Date:

Здесь функция padl() просто дополняет число до двух цифр. По тексту понятно, что представляет собой дата на языке JavaScript - все очень просто, обозначено аккуратно и удобно в использовании.

Формат даты Java (концепция Sun)

Иное отношение к дате на языке Java. Date format здесь представлен не одним абстрактным классом. Однако обилие его методов заслуживает отдельной статьи. Форматирование вынесено в отдельный объект, что позволяет при выполнении операций date format учитывать локаль, то есть выдавать дату на том языке, на котором это необходимо.

Разработчик может использовать классы: DateFormatSymbols, Calendar, GregorianCalendar, TimeZone, MaskFormatter и другие. Представление о date format гораздо более обширное, чем на других языках. Каждый класс имеет свое предназначение.

Неважно, чья заслуга в глобализации date format. Финансовые возможности и высокая технологичность компании Sun, предопределяющие серьезное отношение к понятию времени, или глобальные информационные идеи и мощные базы данных Oracle. Но язык Java превратил простое понятие date format в систему разнообразных объектов и глобализировал его реализации.

Календарь на jQuery

Отличной, простой и доступной реализацией даты, несомненно, является datapicker. Используя механизм jQuery, он стал удивительно простым в использовании, позволяет быстро вставить на любую страницу возможность выбора точного времени или временного интервала и представить результат в string format date.

Тег input, получая фокус ввода, отображает при помощи метода $('#dateField').datepicker() календарик, у которого можно изменить не только внешний вид соответственно тематике страницы, но и локализовать под нужный язык. Можно устанавливать не только дату, но и время, и дни недели.

Изначально datapicker появился для поля ввода, но может быть использован на другом элементе - div или span, например. Результат может быть не только помещен в поле ввода в виде отформатированной строки (можно легко менять содержание сроки), но и использован в качестве переменной.

Datapicker - это, конечно, не представление date format от Oracle/Java, но возможности этого виджета удовлетворят самым изысканным вкусам. Разработчику нет необходимости писать свой вариант представления даты и алгоритмов работы с ним - он получает не только удобный календарик, но и диалог (набор функциональных возможностей для движения по дням, неделям, месяцам.

Можно фиксировать дату начала периода и дату конца.

Даже если сайт требует собственный вариант представления времени, на начальном этапе разработки вполне разумно применить datepicker.

Комментарии