Civil Date PHP Package

GregorianCalendar extends CalendarSystem
in package

Defines validation, conversion, and calendar-length behavior for the proleptic Gregorian calendar.

Table of Contents

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 Gregorian month.
daysInYear()  : int
Returns the number of days in a Gregorian year.
id()  : Calendar
Returns the Gregorian calendar identifier.
instance()  : static
Returns the shared instance for the concrete calendar system.
isLeapYear()  : bool
Determines whether a Gregorian year is leap.
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 Gregorian year containing a Julian Day Number.
firstDayOfYearJDN()  : int
Returns the Julian Day Number of the first day of a Gregorian year.

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 Gregorian month.

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

Gregorian year.

$month : int

Gregorian month number.

Tags
throws
InvalidArgumentException

If the year or month is invalid.

override
Return values
int

Number of days in the month.

daysInYear()

Returns the number of days in a Gregorian year.

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

Gregorian year.

Tags
throws
InvalidArgumentException

If the year is invalid.

override
Return values
int

Number of days in the year.

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 a Gregorian year is leap.

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

Gregorian year.

Tags
throws
InvalidArgumentException

If the year is invalid.

override
Return values
bool

True when the year is leap, false otherwise.

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 Gregorian year containing a Julian Day Number.

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

Julian Day Number.

Tags
override
Return values
int

Gregorian year containing the Julian Day Number.

firstDayOfYearJDN()

Returns the Julian Day Number of the first day of a Gregorian year.

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

Gregorian year.

Tags
override
Return values
int

Julian Day Number of the year's first day.

On this page

Search results