PHP / 3. Дата и время

На первый взгляд, отображение и обработка дат и времени кажется простой задачей, но иногда она усложняется в зависимости от многочисленности ваших пользователей и сложности их требований. Рассеяны ли пользователи по более чем одной временной зоне? Вероятно, да, только если вы не строите интранет или сайт с очень специфической географией аудитории. Смутит ли вашу аудиторию метка даты/времени вида «2002-07-20 14:56:34 EDT» или она предпочтет знакомое представление, например «20 июля 2002 года, 14:56». Определить количество часов в промежутке между 10 часами сегодняшнего дня и 19 часами завтрашнего довольно легко. А между 3-мя часами сегодняшнего утра и полуднем первого дня следующего месяца?
Статьи раздела '3. Дата и время':
Вывод на печать даты и времени в определенном формате
Задача Необходимо вывести на печать дату и время, отформатированные определенным образом. Решение Это делается при помощи функции date() или функции strftime(): print strftime('%c'); print date('m/d/Y'); Tue Jul 30 11:31...
Выделение дат и времен из строк
Задача Необходимо извлечь из строки дату или время в формате, пригодном для вычислений. Например, конвертировать представление даты, такое как «last Thursday» (последний четверг) в метку времени UNIX. Решение Проще всего ана...
Выработка высокоточного времени
Задача Необходимо измерять время с более чем секундной точностью, например для того, чтобы сгенерировать уникальный идентификатор. Решение Это можно сделать при помощи функции microtime(): list($microseconds,$seconds) = ex...
Определение дня недели, месяца, года или номера недели в году
Задача Необходимо узнать день или неделю года, день недели или день месяца. Например, требуется выводить на печать специальное сообщение каждый понедельник или в первый понедельник каждого месяца. Решение Надо передать соотве...
Определение разности между датами юлианского календаря
Задача Необходимо определить разность между двумя датами по показаниям часов, но отражающую действительно прошедшее время. Решение Функция gregoriantojd() позволяет получить юлианскую дату для набора частей дат, после чего мо...
Определение разности между двумя датами
Задача Необходимо определить время, прошедшее между двумя датами. Например, надо сообщить пользователю, сколько прошло времени с момента его последней регистрации на вашем сайте. Решение Преобразуйте обе даты в метки времени ...
Определение текущей даты и времени
Задача Необходимо узнать текущее время или дату. Решение Для получения отформатированной строки времени предназначена функция strftime() или date(): print strftime('%c'); print date('r'); Mon Aug 12 18:23:45 2002 Mon, 1...
Получение интервалов времени
Задача Необходимо знать все дни недели или месяца. Например, требуется вывести на печать список встреч на протяжении недели. Решение Определите начальную дату с помощью функции time() и strftime(). Если интервал имеет фиксиро...
Преобразование времени и частей времени в метку времени UNIX
Задача Необходимо определить, какая метка времени UNIX соответствует множеству частей времени и даты. Решение Если части времени и даты относятся к локальной временной зоне, то следует применять функцию mktime(): // 7:45:0...
Преобразование метки времени в части времени и даты
Задача Необходимо определить части времени и даты, соответствующие метке времени. Решение Передайте метку времени функции getdate(): $time_parts = getdate(163727100); Обсуждение Части времени, возвращенные функцией get...
Проверка корректности даты
Задача Необходимо проверить корректность даты. Например, убедиться, что пользователь не ввел определенную дату рождения, например 30 февраля 1962 года. Решение Проверяется с помощью функции checkdate(): $valid = checkdate...
Программа: Календарь
Функция pc_calendar(), выводит календарь на месяц, подобно UNIX-функции cal. Пример: // печать календаря для текущего месяца list($month,$year) = explode(',',date('m,Y')); pc_calendar($month,$year); Функция pc_calendar() в...
Работа с негригорианскими календарями
Задача Необходимо работать с негригорианским календарем, таким как Юлианский, Иудейский или Французский Республиканский. Решение Модуль PHP «календарь» обеспечивает функции преобразования для работы с Юлианским календарем, та...
Сложение и вычитание дат
Задача Необходимо добавить или вычесть интервал из даты. Решение В зависимости от способа представления даты и интервала, следует применять функцию strtotime() или некоторые простые арифметические функции. Если дата и интерва...
Учет перехода на летнее время
Задача Необходимо обеспечить корректное определение времени с учетом перехода на летнее время. Решение Библиотека zoneinfo производит верные вычисления с учетом DST. В UNIX-системах преимущества zoneinfo обеспечивает функция ...
Учет часовых поясов при определении времени
Задача Необходимо вычислить время в различных часовых поясах. Например, надо сообщить пользователю информацию, привязанную к его местному времени, а не к местному времени вашего сервера. Решение В случае простых вычислений мо...

Страницы: 1