PHP Класс League\Period\Period

С версии: 1.0.0
Автор: Ignace Nyamagana Butera ([email protected])
Наследование: implements JsonSerializabl\JsonSerializable
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$endDate DateTimeImmutable Period ending excluded date point.
$startDate DateTimeImmutable Period starting included date point.

Открытые методы

Метод Описание
__construct ( DateTimeInterfac\DateTimeInterface | string $startDate, DateTimeInterfac\DateTimeInterface | string $endDate ) Create a new instance.
__set_state ( array $period )
__toString ( ) : string String representation of a Period using ISO8601 Time interval format
abuts ( Period $period ) : boolean Tells whether two Period object abuts
add ( DateInterva\DateInterval | integer | string $interval ) : static Returns a new Period object with an added interval
compareDuration ( Period $period ) : integer Compares two Period objects according to their duration.
contains ( Period | DateTimeInterfac\DateTimeInterface | string $index ) : boolean Tells whether the specified index is fully contained within the current Period object.
createFromDay ( DateTimeInterfac\DateTimeInterface | string $day ) : static Create a Period object for a specific day
createFromDuration ( DateTimeInterfac\DateTimeInterface | string $startDate, mixed $interval ) : static Create a Period object from a starting point and an interval.
createFromDurationBeforeEnd ( DateTimeInterfac\DateTimeInterface | string $endDate, mixed $interval ) : static Create a Period object from a ending datepoint and an interval.
createFromMonth ( integer $year, integer $month ) : static Create a Period object for a specific month
createFromQuarter ( integer $year, integer $quarter ) : static Create a Period object for a specific quarter
createFromSemester ( integer $year, integer $semester ) : static Create a Period object for a specific semester
createFromWeek ( integer $year, integer $week ) : static Create a Period object for a specific week
createFromYear ( integer $year ) : static Create a Period object for a specific Year
dateIntervalDiff ( Period $period ) : DateInterval Returns the difference between two Period objects expressed in \DateInterval
diff ( Period $period ) : Period[] Computes the difference between two overlapsing Period objects
durationGreaterThan ( Period $period ) : boolean Tells whether the current Period object duration is greater than the submitted one.
durationLessThan ( Period $period ) : boolean Tells whether the current Period object duration is less than the submitted one.
endingOn ( DateTimeInterfac\DateTimeInterface | string $endDate ) : static Returns a new Period object with a new ending date point.
gap ( Period $period ) : static Computes the gap between two Period objects.
getDateInterval ( ) : DateInterval Returns the Period duration as a DateInterval object.
getDatePeriod ( DateInterva\DateInterval | integer | string $interval, integer $option ) : DatePeriod Allows iteration over a set of dates and times, recurring at regular intervals, over the Period object.
getEndDate ( ) : DateTimeImmutable Returns the ending datepoint.
getStartDate ( ) : DateTimeImmutable Returns the starting date point.
getTimestampInterval ( ) : float Returns the Period duration as expressed in seconds
intersect ( Period $period ) : static Computes the intersection between two Period objects.
isAfter ( Period | DateTimeInterfac\DateTimeInterface | string $index ) : boolean Tells whether a Period is entirely after the specified index
isBefore ( Period | DateTimeInterfac\DateTimeInterface | string $index ) : boolean Tells whether a Period is entirely before the specified index
jsonSerialize ( ) : DateTim\DateTime[] implement JsonSerializable interface
merge ( Period $arg ) : static Merges one or more Period objects to return a new Period object.
move ( DateInterva\DateInterval | integer | string $interval ) : static Returns a new Period object where the datepoints are moved forwards or backward simultaneously by the given DateInterval
moveEndDate ( DateInterva\DateInterval | integer | string $interval ) : static Returns a new Period object with a new ending date point moved forward or backward by the given interval
moveStartDate ( DateInterva\DateInterval | integer | string $interval ) : static Returns a new Period object with a new starting date point moved forward or backward by the given interval
next ( DateInterva\DateInterval | integer | string $interval = null ) : static Returns a new Period object adjacent to the current Period and starting with its ending datepoint.
overlaps ( Period $period ) : boolean Tells whether two Period objects overlaps.
previous ( DateInterva\DateInterval | integer | string $interval = null ) : static Returns a new Period object adjacent to the current Period and ending with its starting datepoint.
sameDurationAs ( Period $period ) : boolean Tells whether the current Period object duration is equal to the submitted one
sameValueAs ( Period $period ) : boolean Tells whether two Period share the same datepoints.
split ( DateInterva\DateInterval | integer | string $interval ) : Generator Split a Period by a given interval
startingOn ( DateTimeInterfac\DateTimeInterface | string $startDate ) : static Returns a new Period object with a new included starting date point.
sub ( DateInterva\DateInterval | integer | string $interval ) : static Returns a new Period object with a Removed interval
timestampIntervalDiff ( Period $period ) : float Returns the difference between two Period objects expressed in seconds
withDuration ( DateInterva\DateInterval | integer | string $interval ) : static Returns a new Period object with a new ending date point.
withDurationBeforeEnd ( DateInterva\DateInterval | integer | string $interval ) : static Returns a new Period object with a new starting date point.

Защищенные методы

Метод Описание
containsDatePoint ( DateTimeInterfac\DateTimeInterface | string $datepoint ) : boolean Tells whether a datepoint is fully contained within the current Period object.
containsPeriod ( Period $period ) : boolean Tells whether a Period object is fully contained within the current Period object.
convertDateTime ( DateTime $datetime ) : DateTimeImmutable Convert a DateTime object into a DateTimeImmutable object
createFromDatepoints ( DateTimeInterfac\DateTimeInterface | string $datePoint1, DateTimeInterfac\DateTimeInterface | string $datePoint2 ) : Period Create a new instance given two datepoints
createFromYearInterval ( integer $interval, integer $year, integer $index ) : static Create a Period object for a specific interval in a given year
filterDateInterval ( mixed $interval ) : DateInterval Validate a DateInterval.
filterDatePoint ( DateTimeInterfac\DateTimeInterface | string $datetime ) : DateTimeImmutable Validate a DateTime.
validateRange ( integer $value, integer $min, integer $max ) : integer Validate a int according to a range.
validateYear ( integer $year ) : integer Validate a year.

Описание методов

__construct() публичный метод

Create a new instance.
public __construct ( DateTimeInterfac\DateTimeInterface | string $startDate, DateTimeInterfac\DateTimeInterface | string $endDate )
$startDate DateTimeInterfac\DateTimeInterface | string starting date point
$endDate DateTimeInterfac\DateTimeInterface | string ending date point

__set_state() публичный статический метод

public static __set_state ( array $period )
$period array

__toString() публичный метод

String representation of a Period using ISO8601 Time interval format
public __toString ( ) : string
Результат string

abuts() публичный метод

Tells whether two Period object abuts
public abuts ( Period $period ) : boolean
$period Period
Результат boolean

add() публичный метод

DEPRECATION WARNING! This method will be removed in the next major point release
Устаревший: deprecated since version 3.3.0 The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public add ( DateInterva\DateInterval | integer | string $interval ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

compareDuration() публичный метод

Compares two Period objects according to their duration.
public compareDuration ( Period $period ) : integer
$period Period
Результат integer

contains() публичный метод

Tells whether the specified index is fully contained within the current Period object.
public contains ( Period | DateTimeInterfac\DateTimeInterface | string $index ) : boolean
$index Period | DateTimeInterfac\DateTimeInterface | string
Результат boolean

containsDatePoint() защищенный метод

Tells whether a datepoint is fully contained within the current Period object.
protected containsDatePoint ( DateTimeInterfac\DateTimeInterface | string $datepoint ) : boolean
$datepoint DateTimeInterfac\DateTimeInterface | string
Результат boolean

containsPeriod() защищенный метод

Tells whether a Period object is fully contained within the current Period object.
protected containsPeriod ( Period $period ) : boolean
$period Period
Результат boolean

convertDateTime() защищенный статический метод

Convert a DateTime object into a DateTimeImmutable object
protected static convertDateTime ( DateTime $datetime ) : DateTimeImmutable
$datetime DateTime
Результат DateTimeImmutable

createFromDatepoints() защищенный статический метод

The datepoints will be used as to allow the creation of a Period object
protected static createFromDatepoints ( DateTimeInterfac\DateTimeInterface | string $datePoint1, DateTimeInterfac\DateTimeInterface | string $datePoint2 ) : Period
$datePoint1 DateTimeInterfac\DateTimeInterface | string datepoint
$datePoint2 DateTimeInterfac\DateTimeInterface | string datepoint
Результат Period

createFromDay() публичный статический метод

The date is truncated so that the Time range starts at midnight according to the date timezone. The duration is equivalent to one full day.
public static createFromDay ( DateTimeInterfac\DateTimeInterface | string $day ) : static
$day DateTimeInterfac\DateTimeInterface | string
Результат static

createFromDuration() публичный статический метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public static createFromDuration ( DateTimeInterfac\DateTimeInterface | string $startDate, mixed $interval ) : static
$startDate DateTimeInterfac\DateTimeInterface | string The start date point
$interval mixed The interval
Результат static

createFromDurationBeforeEnd() публичный статический метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public static createFromDurationBeforeEnd ( DateTimeInterfac\DateTimeInterface | string $endDate, mixed $interval ) : static
$endDate DateTimeInterfac\DateTimeInterface | string The start date point
$interval mixed The interval
Результат static

createFromMonth() публичный статический метод

Create a Period object for a specific month
public static createFromMonth ( integer $year, integer $month ) : static
$year integer
$month integer Month index from 1 to 12
Результат static

createFromQuarter() публичный статический метод

Create a Period object for a specific quarter
public static createFromQuarter ( integer $year, integer $quarter ) : static
$year integer
$quarter integer Quarter Index from 1 to 4
Результат static

createFromSemester() публичный статический метод

Create a Period object for a specific semester
public static createFromSemester ( integer $year, integer $semester ) : static
$year integer
$semester integer Semester Index from 1 to 2
Результат static

createFromWeek() публичный статический метод

Create a Period object for a specific week
public static createFromWeek ( integer $year, integer $week ) : static
$year integer
$week integer index from 1 to 53
Результат static

createFromYear() публичный статический метод

Create a Period object for a specific Year
public static createFromYear ( integer $year ) : static
$year integer
Результат static

createFromYearInterval() защищенный статический метод

Create a Period object for a specific interval in a given year
protected static createFromYearInterval ( integer $interval, integer $year, integer $index ) : static
$interval integer
$year integer
$index integer
Результат static

dateIntervalDiff() публичный метод

Returns the difference between two Period objects expressed in \DateInterval
public dateIntervalDiff ( Period $period ) : DateInterval
$period Period
Результат DateInterval

diff() публичный метод

Returns an array containing the difference expressed as Period objects The array will:
  • be empty if both objects have the same datepoints
  • contain one Period object if both objects share one datepoint
  • contain two Period objects if both objects share no datepoint
public diff ( Period $period ) : Period[]
$period Period
Результат Period[]

durationGreaterThan() публичный метод

Tells whether the current Period object duration is greater than the submitted one.
public durationGreaterThan ( Period $period ) : boolean
$period Period
Результат boolean

durationLessThan() публичный метод

Tells whether the current Period object duration is less than the submitted one.
public durationLessThan ( Period $period ) : boolean
$period Period
Результат boolean

endingOn() публичный метод

Returns a new Period object with a new ending date point.
public endingOn ( DateTimeInterfac\DateTimeInterface | string $endDate ) : static
$endDate DateTimeInterfac\DateTimeInterface | string date point
Результат static

filterDateInterval() защищенный статический метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
protected static filterDateInterval ( mixed $interval ) : DateInterval
$interval mixed The interval
Результат DateInterval

filterDatePoint() защищенный статический метод

Validate a DateTime.
protected static filterDatePoint ( DateTimeInterfac\DateTimeInterface | string $datetime ) : DateTimeImmutable
$datetime DateTimeInterfac\DateTimeInterface | string
Результат DateTimeImmutable

gap() публичный метод

Computes the gap between two Period objects.
public gap ( Period $period ) : static
$period Period
Результат static

getDateInterval() публичный метод

Returns the Period duration as a DateInterval object.
public getDateInterval ( ) : DateInterval
Результат DateInterval

getDatePeriod() публичный метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public getDatePeriod ( DateInterva\DateInterval | integer | string $interval, integer $option ) : DatePeriod
$interval DateInterva\DateInterval | integer | string The interval
$option integer can be set to DatePeriod::EXCLUDE_START_DATE to exclude the start date from the set of recurring dates within the period.
Результат DatePeriod

getEndDate() публичный метод

Returns the ending datepoint.
public getEndDate ( ) : DateTimeImmutable
Результат DateTimeImmutable

getStartDate() публичный метод

Returns the starting date point.
public getStartDate ( ) : DateTimeImmutable
Результат DateTimeImmutable

getTimestampInterval() публичный метод

Returns the Period duration as expressed in seconds
public getTimestampInterval ( ) : float
Результат float

intersect() публичный метод

Computes the intersection between two Period objects.
public intersect ( Period $period ) : static
$period Period
Результат static

isAfter() публичный метод

Tells whether a Period is entirely after the specified index
public isAfter ( Period | DateTimeInterfac\DateTimeInterface | string $index ) : boolean
$index Period | DateTimeInterfac\DateTimeInterface | string
Результат boolean

isBefore() публичный метод

Tells whether a Period is entirely before the specified index
public isBefore ( Period | DateTimeInterfac\DateTimeInterface | string $index ) : boolean
$index Period | DateTimeInterfac\DateTimeInterface | string
Результат boolean

jsonSerialize() публичный метод

implement JsonSerializable interface
public jsonSerialize ( ) : DateTim\DateTime[]
Результат DateTim\DateTime[]

merge() публичный метод

The resultant object represents the largest duration possible.
public merge ( Period $arg ) : static
$arg Period one or more Period objects
Результат static

move() публичный метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public move ( DateInterva\DateInterval | integer | string $interval ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

moveEndDate() публичный метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public moveEndDate ( DateInterva\DateInterval | integer | string $interval ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

moveStartDate() публичный метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public moveStartDate ( DateInterva\DateInterval | integer | string $interval ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

next() публичный метод

If no duration is provided the new Period will be created using the current object duration The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public next ( DateInterva\DateInterval | integer | string $interval = null ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

overlaps() публичный метод

Tells whether two Period objects overlaps.
public overlaps ( Period $period ) : boolean
$period Period
Результат boolean

previous() публичный метод

If no duration is provided the new Period will have the same duration as the current one The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public previous ( DateInterva\DateInterval | integer | string $interval = null ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

sameDurationAs() публичный метод

Tells whether the current Period object duration is equal to the submitted one
public sameDurationAs ( Period $period ) : boolean
$period Period
Результат boolean

sameValueAs() публичный метод

Tells whether two Period share the same datepoints.
public sameValueAs ( Period $period ) : boolean
$period Period
Результат boolean

split() публичный метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public split ( DateInterva\DateInterval | integer | string $interval ) : Generator
$interval DateInterva\DateInterval | integer | string The interval
Результат Generator

startingOn() публичный метод

Returns a new Period object with a new included starting date point.
public startingOn ( DateTimeInterfac\DateTimeInterface | string $startDate ) : static
$startDate DateTimeInterfac\DateTimeInterface | string date point
Результат static

sub() публичный метод

DEPRECATION WARNING! This method will be removed in the next major point release
Устаревший: deprecated since version 3.3.0 The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public sub ( DateInterva\DateInterval | integer | string $interval ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

timestampIntervalDiff() публичный метод

Returns the difference between two Period objects expressed in seconds
public timestampIntervalDiff ( Period $period ) : float
$period Period
Результат float

validateRange() защищенный статический метод

Validate a int according to a range.
protected static validateRange ( integer $value, integer $min, integer $max ) : integer
$value integer the value to validate
$min integer the minimum value
$max integer the maximal value
Результат integer

validateYear() защищенный статический метод

Validate a year.
protected static validateYear ( integer $year ) : integer
$year integer
Результат integer

withDuration() публичный метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public withDuration ( DateInterva\DateInterval | integer | string $interval ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

withDurationBeforeEnd() публичный метод

The interval can be
  • a DateInterval object
  • an int interpreted as the duration expressed in seconds.
  • a string in a format supported by DateInterval::createFromDateString
public withDurationBeforeEnd ( DateInterva\DateInterval | integer | string $interval ) : static
$interval DateInterva\DateInterval | integer | string The interval
Результат static

Описание свойств

$endDate защищенное свойство

Period ending excluded date point.
protected DateTimeImmutable $endDate
Результат DateTimeImmutable

$startDate защищенное свойство

Period starting included date point.
protected DateTimeImmutable $startDate
Результат DateTimeImmutable