# Calendar Functions

## Introduction

The calendar extension presents a series of functions to simplify converting between different calendar formats. The intermediary or standard it is based on is the Julian Day Count. The Julian Day Count is a count of days starting from January 1st, 4713 B.C. To convert between calendar systems, you must first convert to Julian Day Count, then to the calendar system of your choice. Julian Day Count is very different from the Julian Calendar! For more information on Julian Day Count, visit » http://www.hermetic.ch/cal_stud/jdn.htm. For more information on calendar systems visit » http://www.fourmilab.ch/documents/calendar/. Excerpts from this page are included in these instructions, and are in quotes.

## Installation

To get these functions to work, you have to compile PHP with --enable-calendar.

The windows version of PHP has built in support for this extension. You do not need to load any additional extension in order to use these functions.

## Runtime Configuration

This extension has no configuration directives defined in php.ini.

## Resource Types

This extension has no resource types defined.

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`CAL_GREGORIAN` (integer)
`CAL_JULIAN` (integer)
`CAL_JEWISH` (integer)
`CAL_FRENCH` (integer)
`CAL_NUM_CALS` (integer)
`CAL_DOW_DAYNO` (integer)
`CAL_DOW_SHORT` (integer)
`CAL_DOW_LONG` (integer)
`CAL_MONTH_GREGORIAN_SHORT` (integer)
`CAL_MONTH_GREGORIAN_LONG` (integer)
`CAL_MONTH_JULIAN_SHORT` (integer)
`CAL_MONTH_JULIAN_LONG` (integer)
`CAL_MONTH_JEWISH` (integer)
`CAL_MONTH_FRENCH` (integer)

The following constants are available since PHP 4.3.0 :

`CAL_EASTER_DEFAULT` (integer)
`CAL_EASTER_ROMAN` (integer)
`CAL_EASTER_ALWAYS_GREGORIAN` (integer)
`CAL_EASTER_ALWAYS_JULIAN` (integer)

The following constants are available since PHP 5.0.0 :

`CAL_JEWISH_ADD_ALAFIM_GERESH` (integer)
`CAL_JEWISH_ADD_ALAFIM` (integer)
`CAL_JEWISH_ADD_GERESHAYIM` (integer)

## Table of Contents

- cal_days_in_month — Return the number of days in a month for a given year and calendar
- cal_from_jd — Converts from Julian Day Count to a supported calendar
- cal_info — Returns information about a particular calendar
- cal_to_jd — Converts from a supported calendar to Julian Day Count
- easter_date — Get Unix timestamp for midnight on Easter of a given year
- easter_days — Get number of days after March 21 on which Easter falls for a given year
- FrenchToJD — Converts a date from the French Republican Calendar to a Julian Day Count
- GregorianToJD — Converts a Gregorian date to Julian Day Count
- JDDayOfWeek — Returns the day of the week
- JDMonthName — Returns a month name
- JDToFrench — Converts a Julian Day Count to the French Republican Calendar
- JDToGregorian — Converts Julian Day Count to Gregorian date
- jdtojewish — Converts a Julian day count to a Jewish calendar date
- JDToJulian — Converts a Julian Day Count to a Julian Calendar Date
- jdtounix — Convert Julian Day to Unix timestamp
- JewishToJD — Converts a date in the Jewish Calendar to Julian Day Count
- JulianToJD — Converts a Julian Calendar date to Julian Day Count
- unixtojd — Convert Unix timestamp to Julian Day