Civil Date PHP Package

TabularIslamicCalendar extends CalendarSystem
in package

Defines validation, conversion, and calendar-length behavior for the tabular Islamic civil calendar.

Table of Contents

Constants

EPOCH_JDN  : int = 1948440
Julian Day Number of 1 Muharram 1 AH in the tabular Islamic calendar.

Methods

assertValidDay()  : void
Validates a calendar day.
assertValidMonth()  : void
Validates a calendar month.
assertValidYear()  : void
Validates a calendar year.
daysInMonth()  : int
Returns the number of days in a tabular Islamic month.
daysInYear()  : int
Returns the number of days in a tabular Islamic year.
id()  : Calendar
Returns the Islamic calendar identifier.
instance()  : static
Returns the shared instance for the concrete calendar system.
isLeapYear()  : bool
Determines whether an Islamic year contains 355 days.
isValidDay()  : bool
Determines whether a day number is valid for a calendar month.
isValidMonth()  : bool
Determines whether a month number is valid for a calendar year.
isValidYear()  : bool
Determines whether a year number is valid for this calendar.
monthsInYear()  : int
Returns the number of months in a year.
toDayOfYear()  : int
Converts calendar date components to a day of year value.
todayTimeZone()  : DateTimeZone|null
Returns the timezone used to resolve today's date.
toJDN()  : int
Converts calendar date components to a Julian Day Number.
toMonthDay()  : array{0: int, 1: int}
Converts a day of year value to calendar month and day components.
toYearMonthDay()  : array{0: int, 1: int, 2: int}
Converts a Julian Day Number to calendar year, month, and day components.
findYear()  : int
Finds the Islamic year containing a Julian Day Number.
firstDayOfYearJDN()  : int
Returns the Julian Day Number of the first day of an Islamic year.

Constants

EPOCH_JDN

Julian Day Number of 1 Muharram 1 AH in the tabular Islamic calendar.

protected int EPOCH_JDN = 1948440

Methods

assertValidDay()

Validates a calendar day.

public final assertValidDay(int $year, int $month, int $day) : void
Parameters
$year : int

Calendar year.

$month : int

Calendar month number.

$day : int

Calendar day of month.

Tags
throws
InvalidArgumentException

If the date components are invalid.

assertValidMonth()

Validates a calendar month.

public final assertValidMonth(int $year, int $month) : void
Parameters
$year : int

Calendar year.

$month : int

Calendar month number.

Tags
throws
InvalidArgumentException

If the year or month is invalid.

assertValidYear()

Validates a calendar year.

public assertValidYear(int $year) : void
Parameters
$year : int

Calendar year.

Tags
throws
InvalidArgumentException

If the year is invalid.

daysInMonth()

Returns the number of days in a tabular Islamic month.

public daysInMonth(int $year, int $month) : int
Parameters
$year : int

Islamic year.

$month : int

Islamic month number.

Tags
throws
InvalidArgumentException

If the year or month is invalid.

override
Return values
int —

Tabular month length.

daysInYear()

Returns the number of days in a tabular Islamic year.

public daysInYear(int $year) : int
Parameters
$year : int

Islamic year.

Tags
throws
InvalidArgumentException

If the year is zero.

override
Return values
int —

Tabular year length.

instance()

Returns the shared instance for the concrete calendar system.

public final static instance() : static
Tags
see
Calendar::system()
Return values
static —

Calendar system instance.

isLeapYear()

Determines whether an Islamic year contains 355 days.

public isLeapYear(int $year) : bool
Parameters
$year : int

Islamic year.

Tags
throws
InvalidArgumentException

If the year is zero.

override
Return values
bool —

True when the year contains 355 days, false when it contains 354 days.

isValidDay()

Determines whether a day number is valid for a calendar month.

public isValidDay(int $year, int $month, int $day) : bool
Parameters
$year : int

Calendar year.

$month : int

Calendar month number.

$day : int

Calendar day of month.

Return values
bool —

True when the day is valid, false otherwise.

isValidMonth()

Determines whether a month number is valid for a calendar year.

public isValidMonth(int $year, int $month) : bool
Parameters
$year : int

Calendar year.

$month : int

Calendar month number.

Return values
bool —

True when the month is valid, false otherwise.

isValidYear()

Determines whether a year number is valid for this calendar.

public isValidYear(int $year) : bool
Parameters
$year : int

Calendar year.

Return values
bool —

True when the year is valid, false otherwise.

monthsInYear()

Returns the number of months in a year.

public monthsInYear(int $year) : int
Parameters
$year : int

Calendar year.

Tags
throws
InvalidArgumentException

If the year is invalid.

Return values
int —

Number of months in the year.

toDayOfYear()

Converts calendar date components to a day of year value.

public toDayOfYear(int $year, int $month, int $day) : int
Parameters
$year : int

Calendar year.

$month : int

Calendar month number.

$day : int

Calendar day of month.

Tags
throws
InvalidArgumentException

If the date components are invalid.

Return values
int —

Day of year, where 1 is the first day of the year.

todayTimeZone()

Returns the timezone used to resolve today's date.

public todayTimeZone() : DateTimeZone|null
Return values
DateTimeZone|null —

Timezone for today, or null for the default timezone.

toJDN()

Converts calendar date components to a Julian Day Number.

public toJDN(int $year, int $month, int $day) : int
Parameters
$year : int

Calendar year.

$month : int

Calendar month number.

$day : int

Calendar day of month.

Tags
throws
InvalidArgumentException

If the date components are invalid.

see
CalendarSystem::toYearMonthDay()
CalendarDate::jdn()
Return values
int —

Julian Day Number.

toMonthDay()

Converts a day of year value to calendar month and day components.

public toMonthDay(int $year, int $dayOfYear) : array{0: int, 1: int}
Parameters
$year : int

Calendar year.

$dayOfYear : int

Day of year, where 1 is the first day of the year.

Tags
throws
InvalidArgumentException

If the year or day of year is invalid.

Return values
array{0: int, 1: int} —

Calendar [month, day] components.

toYearMonthDay()

Converts a Julian Day Number to calendar year, month, and day components.

public toYearMonthDay(int $jdn) : array{0: int, 1: int, 2: int}
Parameters
$jdn : int

Julian Day Number.

Tags
throws
DateOutOfRangeException

If the Julian Day Number cannot be converted to a valid calendar date.

see
CalendarSystem::toJDN()
CalendarDate::fromJDN()
Return values
array{0: int, 1: int, 2: int} —

Calendar [year, month, day] components.

findYear()

Finds the Islamic year containing a Julian Day Number.

protected findYear(int $jdn) : int
Parameters
$jdn : int

Julian Day Number.

Tags
override
Return values
int —

Islamic year containing the Julian Day Number.

firstDayOfYearJDN()

Returns the Julian Day Number of the first day of an Islamic year.

protected firstDayOfYearJDN(int $year) : int
Parameters
$year : int

Islamic year.

Tags
override
Return values
int —

Julian Day Number of the year's first day.

On this page

Search results