Новые книги

Третье издание, расширенное и обновлённое для Blender 2.57
В той отрасли, где мы работаем, библиотека DirectDraw появилась довольно давно. Во всяком случае, за это время она успела доказать свои возможности, и о ней было написано несколько книг. Как обычно, эти книги отличаются по своему качеству. Однако в основном это были добротные учебники, которые (как и многие книги о компьютерах) были написаны за три месяца авторами, изучавшими предмет по ходу дела. В результате большинство этих книг содержит лишь подготовительный материал. Теперь, когда библиотека DirectDraw подросла и обрела свою репутацию (во всяком случае, она старше других компонентов DirectX), настало время уйти от основ и познакомиться с ее некоторыми нетривиальными возможностями.

Эта книга начинается с того, на чем другие книги обычно заканчивались. Мы поговорим об основах DirectDraw, но лишь в общих чертах. Читатель — опытный программист, но незнакомый с DirectDraw — сможет с ходу войти в курс дела. Затем мы перейдем к другим темам, столь же интересным, сколь и полезным.

Цель этой книги — научить вас работать с DirectDraw, а не предоставить некоторую «структурную основу» или нестандартный API, который бы выполнял за вас всю работу. Демонстрационные программы написаны на C++ и используют MFC, но совсем не для того, чтобы скрыть все технические подробности. С++ и MFC — превосходные инструменты, потому что с их помощью любое приложение можно написать несколькими разными способами. Примеры для этой книги были написаны так, чтобы при этом получались структурированные и удобные для чтения проекты, которые наглядно показывают, что и почему происходит в программе.

Помимо DirectDraw, во многих примерах используется библиотека DirectInput. Строго говоря, при программировании графики для Windows можно обойтись и без DirectInput, но ей все же стоит воспользоваться. Она работает быстрее традиционных средств ввода Windows и к тому же входит в DirectX, так что для работы с ней не потребуется никаких дополнительных SDK.

easter_days

Учебник РНР
Назад Вперёд

easter_days

(PHP 3>= 3.0.9, PHP 4)

easter_days - получает дату - количество дней после 21 марта, на которую падает Easter в данном году.

Описание

int easter_days ([int year [, int method]])

Возвращает дату - количество дней после 21 марта, на которую падает Easter в данном году. Если год не специфицирован, по умолчанию используется текущий год.

После PHP 4.3.0 параметр year является необязательным и по умолчанию имеет значение текущего года в соответствии с локальным временем, если этот параметр опущен.

Параметр method также был введён в PHP 4.3.0 и даёт возможность рассчитывать easter-даты на основе Григорианского календаря для лет 1582 - 1752, если имеет значение CAL_EASTER_ROMAN. См. календарные константы.

Эта функция может использоваться вместо easter_date() для расчёта Easter для тех лет, которые находятся вне диапазона штампов времени UNIX (до 1970 или после 2037).

Пример 1. easter_days()
echo easter_days (1999);        /* 14, i.e. April 4   */
echo easter_days (1492);        /* 32, i.e. April 22  */
echo easter_days (1913);        /*  2, i.e. March 23  */

Дата Easter Day была определена советом Council of Nicaea в AD325 как воскресенье после первого полнолуния или после Spring Equinox/весеннего равноденствия. Equinox всегда выпадает на 21 марта, так что вычисление сводится к определению даты полнолуния и даты следующего воскресенья. Используемый здесь алгоритм ввёл Dionysius Exiguus около 532 года. В Юлианском летосчислении (до 1753 г.) используется простой 19-летний цикл для отслеживания фаз луны. В Григорианском календаре (для лет после 1753 - изобрели Clavius и Lilius, ввёл Папа Gregory XIII в октябре 1582 г., а в Британии и колониях - в сентябре 1752 г.) добавлены два корректирующих фактора для уточнения цикла.

(Этот код основан на С-программе Simon Kershaw, <[email protected]>)

См. также easter_date().


Назад Оглавление Вперёд
easter_date Вверх FrenchToJD