- •Тема 1 Основы cgi-программирования
- •1.1 Методы передачи данных
- •1.2 Передача документа пользователю
- •1.3 Передача информации cgi-сценарию
- •Тема 2 Характеристика языка php
- •2.1 Принцип работы php
- •2.2 Переменные, константы, выражения
- •Тема 3 Работа с данными формы
- •3.1 Передача данных
- •3.2 Трансляция полей формы в переменные
- •Тема 4 Конструкции языка
- •4.1 Условные инструкции
- •4.2 Инструкции циклов
- •4.3 Инструкции включения
- •Тема 5 Ассоциативные массивы
- •5.1 Списки и ассоциативные массивы
- •5.2 Операции над массивами
- •5.3 Списки и строки
- •5.4 Сериализация
- •Тема 6 Работа с массивами
- •6.1 Сортировка массивов
- •6.2 Функции для работы с массивами
- •Тема 7 Функции и области видимости
- •7.1 Формат определения функции, передача параметров
- •7.2 Глобальные, локальные, статические переменные
- •7.3 Рекурсия, вложенные и условно-определяемые функции
- •7.4 Передача функций по ссылке и возврат функцией ссылки
- •Тема 8 Строковые функции
- •8.1 Функции работы со строками
- •8.2 Работа с блоками текста
- •Тема 9 Математические функции
- •9.1 Встроенные константы
- •9.2 Встроенные функции
- •Тема 10 Работа с файлами и каталогами,
- •10.1 Функции работы с файлами
- •10.2 Блокирование файла
- •10.3 Функции работы с каталогами
- •10.4 Запуск внешних программ
- •Тема 11 Работа с датами и временем,
- •11.1 Представление времени в формате timestamp
- •11.2 Работа с датами, григорианский календарь
- •11.3 Посылка писем через php
- •Тема 12 Работа с www
- •12.1 Установка заголовков ответа
- •12.2 Работа с Cookies
- •Тема 13 Управление интерпретатором
- •13.1 Управление интерпретатором
- •13.2 Управление сессиями
- •Тема 14 Работа с базой данных mysql
- •14.1 Соединение с базой данных
- •14.2 Выполнение запросов к базе данных
- •Тема 15 Загрузка файлов на сервер
- •15.1 Multipart-формы, тег выбора файла
- •15.2 Поддержка закачки в php
- •Учебное издание
- •Разработка программного обеспечения на платформе net: php.Net
- •246019 Г. Гомель, ул. Советская, 104
11.1 Представление времени в формате timestamp
int time()
Возвращает время в секундах, прошедшее с полуночи 1 января 1970 года по Гринвичу до настоящего момента. Почти все функции по работе со временем имеют дело именно с таким его представлением (которое называется timestamp).
string microtime()
Возвращает строку в формате: "микросекунды секунды", где секунды – то, что возвращается функцией time(), а микросекунды – дробная часть секунд, служащая для более точного измерения промежутков времени.
int mktime([int $hour] [,int $minute] [,int $second] [,int $month] [,int $day] [,int $year])
Функция возвращает значение timestamp, соответствующее указанной дате. Все ее параметры необязательны, но пропускать их можно только справа налево. Если какие-то параметры не заданы, на их место подставляются значения, соответствующие текущей дате. Правильность даты, переданной в параметрах, не проверяется. В случае некорректной даты функция формирует соответствующий timestamp.
Пример:
echo date("M-d-Y", mktime(0,0,0,1,1,1998));
// правильная дата
echo date("M-d-Y", mktime(0,0,0,12,32,1997));
// неправильная дата
echo date("M-d-Y", mktime(0,0,0,13,1,1997));
// неправильная дата
В результате выводятся три одинаковых числа.
11.2 Работа с датами, григорианский календарь
string date(string $format [,int $timestamp])
Функция возвращает строку, отформатированную в соответствии с параметром $format и сформированную на основе параметра $timestamp (если последний не задан – то на основе текущей даты). Строка формата может содержать обычный текст, перемежаемый одним или несколькими символами форматирования: U – количество секунд, прошедших с полуночи 1 января 1970 года; z – номер дня от начала года; Y – год, 4 цифры; y – год, 2 цифры; F – название месяца, например, January (формат выдачи месяца зависит от текущих настроек локали); m – номер месяца; M – название месяца, трехсимвольная аббревиатура, например, Jan; d – номер дня в месяце, всегда 2 цифры (первая может быть 0); j – номер дня в месяце без предваряющего нуля; w – день недели, 0 соответствует воскресенью, 1 – понедельнику, и т. д.; l – день недели, текстовое полное название, например, Friday; D – день недели, английское трехсимвольное сокращение, например, Fri; a – am или pm; A – AM или PM; h – часы, 12-часовой формат; H – часы, 24-часовой формат; i – минуты; s – секунды; S – английский числовой суффикс (nd, th и т. д.).
Те символы, которые не были распознаны как форматирующие, подставляются в результирующую строку «как есть». Пример:
echo date("l dS of F Y h:i:s A");
echo date("Сегодня d.m.Y");
echo date("Дата файла d.m.Y",filectime("myfile"));
int checkdate(int $month, int $day, int $year)
Функция проверяет, существует ли дата, переданная ей в параметрах: вначале ищется месяц, затем – день, и, наконец, – год. Функция проверяет следующее: год должен быть между 1900 и 32 767 включительно; месяц обязан принадлежать диапазону от 1 до 12; число должно быть допустимым для указанного месяца и года (если год високосный).
array getdate(int $timestamp)
Возвращает ассоциативный массив, содержащий данные об указанном времени. В массив будут помещены следующие ключи и значения: seconds – секунды; minutes – минуты; hours – часы; mday – число; wday – день недели, число; mon – номер месяца; year – год; yday – номер дня с начала года; weekday – полное название дня недели, например, Friday; month – полное название месяца, например, January.
Григорианский календарь – это тот календарь, который мы постоянно используем в своей жизни. В России он был введен Петром I в 1700 году. Каждой дате соответствует свой Julian Day Count (JDC). JDC – это число дней, прошедших с определенной даты (где-то с 4714-го года до нашей эры). Это нужно например, чтобы вычислить количество дней между двумя датами в формате "дд.мм.гггг". Обе даты переводятся в в JDC и определяется разность получившихся величин.
int GregorianToJD(int $month, int $day,
int $year)
Преобразует дату в формат JDC. Допустимые значения года для григорианского календаря – от 4714 года до нашей эры до 9999 года нашей эры.
string JDToGregorian(int $julianday)
Преобразует дату в формате JDC в строку месяц/число/год. Чтобы разбить эту строку на составляющие можно воспользоваться функцией explode():
$jd = GregorianToJD(10,11,1970);
echo "$jd<br>\n";
$gregorian = JDToGregorian($jd);
echo "$gregorian<br>\n";
$list=explode($gregorian,"/");
mixed JDDayOfWeek(int $julianday, int $mode)
Функция JDDayOfWeek() возвращает день недели, на который приходится указанная JDC-дата. Параметр $mode задает, в каком виде должен быть возвращен результат: 0 – номер дня недели (0 — воскресенье, 1 — понедельник, и т. д.); 1 – английское название дня недели; 2 – сокращение английского названия дня недели.
