PHP Class ExpressiveDate

Inheritance: extends DateTime
Datei anzeigen Open project: jasonlewis/expressive-date Class Usage Examples

Protected Properties

Property Type Description
$defaultDateFormat string Default date format used when casting object to string.
$weekStartDay integer Starting day of the week, where 0 is Sunday and 1 is Monday.

Public Methods

Method Description
__call ( string $method, array $parameters ) : mixed Dynamically handle calls for date attributes and testers.
__construct ( string $time = null, string | DateTimeZone $timezone = null ) : void Create a new ExpressiveDate instance.
__toString ( ) : string Return the default date format when casting to string.
addDays ( integer $amount ) : ExpressiveDate Add a given amount of days.
addHours ( integer $amount ) : ExpressiveDate Add a given amount of hours.
addMinutes ( integer $amount ) : ExpressiveDate Add a given amount of minutes.
addMonths ( integer $amount ) : ExpressiveDate Add a given amount of months.
addOneDay ( ) : ExpressiveDate Add one day.
addOneHour ( ) : ExpressiveDate Add one hour.
addOneMinute ( ) : ExpressiveDate Add one minute.
addOneMonth ( ) : ExpressiveDate Add one month.
addOneSecond ( ) : ExpressiveDate Add one second.
addOneWeek ( ) : ExpressiveDate Add one week.
addOneYear ( ) : ExpressiveDate Add one year.
addSeconds ( integer $amount ) : ExpressiveDate Add a given amount of seconds.
addWeeks ( integer $amount ) : ExpressiveDate Add a given amount of weeks.
addYears ( integer $amount ) : ExpressiveDate Add a given amount of years.
copy ( ) : ExpressiveDate Return copy of expressive date object
endOfDay ( ) : ExpressiveDate Use the end of the day.
endOfMonth ( ) : ExpressiveDate Use the end of the month.
endOfWeek ( ) : ExpressiveDate Use the end of the week.
equalTo ( ExpressiveDate $date ) : boolean Determine if date is equal to another Expressive Date instance.
getDate ( ) : string Get a date string in the format of 2012-12-04.
getDateTime ( ) : string Get a date and time string in the format of 2012-12-04 23:43:27.
getDefaultDate ( ) : string Get a date string in the default format.
getDifferenceInDays ( ExpressiveDate $compare = null ) : string Get the difference in days.
getDifferenceInHours ( ExpressiveDate $compare = null ) : string Get the difference in hours.
getDifferenceInMinutes ( ExpressiveDate $compare = null ) : string Get the difference in minutes.
getDifferenceInMonths ( ExpressiveDate $compare = null ) : string Get the difference in months.
getDifferenceInSeconds ( ExpressiveDate $compare = null ) : string Get the difference in seconds.
getDifferenceInYears ( ExpressiveDate $compare = null ) : string Get the difference in years.
getLongDate ( ) : string Get a date string in the format of January 31st, 1991 at 7:45am.
getRelativeDate ( ExpressiveDate $compare = null ) : string Get a relative date string, e.g., 3 days ago.
getShortDate ( ) : string Get a date string in the format of Jan 31, 1991.
getTime ( ) : string Get a date string in the format of 07:42:32.
getWeekStartDay ( ) : integer Get the starting day of the week, where 0 is Sunday and 1 is Monday
greaterOrEqualTo ( ExpressiveDate $date ) : boolean Determine if date is greater than or equal to another Expressive Date instance.
greaterThan ( ExpressiveDate $date ) : boolean Determine if date is greater than another Expressive Date instance.
isWeekday ( ) : boolean Determine if day is a weekday.
isWeekend ( ) : boolean Determine if day is a weekend.
lessOrEqualTo ( ExpressiveDate $date ) : boolean Determine if date is less than or equal to another Expressive Date instance.
lessThan ( ExpressiveDate $date ) : boolean Determine if date is less than another Expressive Date instance.
make ( string $time = null, string | DateTimeZone $timezone = null ) : ExpressiveDate Make and return new ExpressiveDate instance.
makeFromDate ( integer $year = null, integer $month = null, integer $day = null, string | DateTimeZone $timezone = null ) : ExpressiveDate Make and return a new ExpressiveDate instance with defined year, month, and day.
makeFromDateTime ( integer $year = null, integer $month = null, integer $day = null, integer $hour = null, integer $minute = null, integer $second = null, string | DateTimeZone $timezone = null ) : ExpressiveDate Make and return a new ExpressiveDate instance with defined year, month, day, hour, minute, and second.
makeFromTime ( integer $hour = null, integer $minute = null, integer $second = null, string | DateTimeZone $timezone = null ) : ExpressiveDate Make and return a new ExpressiveDate instance with defined hour, minute, and second.
minusDays ( integer $amount ) : ExpressiveDate Minus a given amount of days.
minusHours ( integer $amount ) : ExpressiveDate Minus a given amount of hours.
minusMinutes ( integer $amount ) : ExpressiveDate Minus a given amount of minutes.
minusMonths ( integer $amount ) : ExpressiveDate Minus a given amount of months.
minusOneDay ( ) : ExpressiveDate Minus one day.
minusOneHour ( ) : ExpressiveDate Minus one hour.
minusOneMinute ( ) : ExpressiveDate Minus one minute.
minusOneMonth ( ) : ExpressiveDate Minus one month.
minusOneSecond ( ) : ExpressiveDate Minus one second.
minusOneWeek ( ) : ExpressiveDate Minus one week.
minusOneYear ( ) : ExpressiveDate Minus one year.
minusSeconds ( integer $amount ) : ExpressiveDate Minus a given amount of seconds.
minusWeeks ( integer $amount ) : ExpressiveDate Minus a given amount of weeks.
minusYears ( integer $amount ) : ExpressiveDate Minus a given amount of years.
notEqualTo ( ExpressiveDate $date ) : boolean Determine if date is not equal to another Expressive Date instance.
now ( ) : ExpressiveDate Use the current date and time.
sameAs ( ExpressiveDate $date ) : boolean Alias for ExpressiveDate::equalTo()
setDefaultDateFormat ( string $format ) : ExpressiveDate Set the default date format.
setTimestampFromString ( string $string ) : ExpressiveDate Sets the timestamp from a human readable string.
setTimezone ( string | DateTimeZone $timezone ) : ExpressiveDate Set the timezone.
setWeekStartDay ( integer | string $weekStartDay ) : void Set the starting day of the week, where 0 is Sunday and 1 is Monday.
startOfDay ( ) : ExpressiveDate Use the start of the day.
startOfMonth ( ) : ExpressiveDate Use the start of the month.
startOfWeek ( ) : ExpressiveDate Use the start of the week.
today ( ) : ExpressiveDate Use today's date and time at midnight.
tomorrow ( ) : ExpressiveDate Use tomorrow's date and time at midnight.
yesterday ( ) : ExpressiveDate Use yesterday's date and time at midnight.

Protected Methods

Method Description
getDateAttribute ( string $attribute ) : mixed Get a date attribute.
isDateAttribute ( string $attribute ) : mixed Syntactical sugar for determining if date object "is" a condition.
isFloat ( integer | float $amount ) : boolean Determine if a given amount is a floating point number.
modifyDays ( integer $amount, boolean $invert = false ) : ExpressiveDate Modify by an amount of days.
modifyFromInterval ( DateInterval $interval, boolean $invert = false ) : ExpressiveDate Modify from a DateInterval object.
modifyHours ( integer $amount, boolean $invert = false ) : ExpressiveDate Modify by an amount of hours.
modifyMinutes ( integer $amount, boolean $invert = false ) : ExpressiveDate Modify by an amount of minutes.
modifyMonths ( integer $amount, boolean $invert = false ) : ExpressiveDate Modify by an amount of months.
modifySeconds ( integer $amount, boolean $invert = false ) : ExpressiveDate Modify by an amount of seconds.
modifyWeeks ( integer $amount, boolean $invert = false ) : ExpressiveDate Modify by an amount of weeks.
modifyYears ( integer $amount, boolean $invert = false ) : ExpressiveDate Modify by an amount of Years.
parseSuppliedTimezone ( string | DateTimeZone $timezone ) : DateTimeZone Parse a supplied timezone.
setDateAttribute ( string $attribute, $value ) : mixed Set a date attribute.

Method Details

__call() public method

Dynamically handle calls for date attributes and testers.
public __call ( string $method, array $parameters ) : mixed
$method string
$parameters array
return mixed

__construct() public method

Create a new ExpressiveDate instance.
public __construct ( string $time = null, string | DateTimeZone $timezone = null ) : void
$time string
$timezone string | DateTimeZone
return void

__toString() public method

Return the default date format when casting to string.
public __toString ( ) : string
return string

addDays() public method

Add a given amount of days.
public addDays ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

addHours() public method

Add a given amount of hours.
public addHours ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

addMinutes() public method

Add a given amount of minutes.
public addMinutes ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

addMonths() public method

Add a given amount of months.
public addMonths ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

addOneDay() public method

Add one day.
public addOneDay ( ) : ExpressiveDate
return ExpressiveDate

addOneHour() public method

Add one hour.
public addOneHour ( ) : ExpressiveDate
return ExpressiveDate

addOneMinute() public method

Add one minute.
public addOneMinute ( ) : ExpressiveDate
return ExpressiveDate

addOneMonth() public method

Add one month.
public addOneMonth ( ) : ExpressiveDate
return ExpressiveDate

addOneSecond() public method

Add one second.
public addOneSecond ( ) : ExpressiveDate
return ExpressiveDate

addOneWeek() public method

Add one week.
public addOneWeek ( ) : ExpressiveDate
return ExpressiveDate

addOneYear() public method

Add one year.
public addOneYear ( ) : ExpressiveDate
return ExpressiveDate

addSeconds() public method

Add a given amount of seconds.
public addSeconds ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

addWeeks() public method

Add a given amount of weeks.
public addWeeks ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

addYears() public method

Add a given amount of years.
public addYears ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

copy() public method

Return copy of expressive date object
public copy ( ) : ExpressiveDate
return ExpressiveDate

endOfDay() public method

Use the end of the day.
public endOfDay ( ) : ExpressiveDate
return ExpressiveDate

endOfMonth() public method

Use the end of the month.
public endOfMonth ( ) : ExpressiveDate
return ExpressiveDate

endOfWeek() public method

Use the end of the week.
public endOfWeek ( ) : ExpressiveDate
return ExpressiveDate

equalTo() public method

Determine if date is equal to another Expressive Date instance.
public equalTo ( ExpressiveDate $date ) : boolean
$date ExpressiveDate
return boolean

getDate() public method

Get a date string in the format of 2012-12-04.
public getDate ( ) : string
return string

getDateAttribute() protected method

Get a date attribute.
protected getDateAttribute ( string $attribute ) : mixed
$attribute string
return mixed

getDateTime() public method

Get a date and time string in the format of 2012-12-04 23:43:27.
public getDateTime ( ) : string
return string

getDefaultDate() public method

Get a date string in the default format.
public getDefaultDate ( ) : string
return string

getDifferenceInDays() public method

Get the difference in days.
public getDifferenceInDays ( ExpressiveDate $compare = null ) : string
$compare ExpressiveDate
return string

getDifferenceInHours() public method

Get the difference in hours.
public getDifferenceInHours ( ExpressiveDate $compare = null ) : string
$compare ExpressiveDate
return string

getDifferenceInMinutes() public method

Get the difference in minutes.
public getDifferenceInMinutes ( ExpressiveDate $compare = null ) : string
$compare ExpressiveDate
return string

getDifferenceInMonths() public method

Get the difference in months.
public getDifferenceInMonths ( ExpressiveDate $compare = null ) : string
$compare ExpressiveDate
return string

getDifferenceInSeconds() public method

Get the difference in seconds.
public getDifferenceInSeconds ( ExpressiveDate $compare = null ) : string
$compare ExpressiveDate
return string

getDifferenceInYears() public method

Get the difference in years.
public getDifferenceInYears ( ExpressiveDate $compare = null ) : string
$compare ExpressiveDate
return string

getLongDate() public method

Get a date string in the format of January 31st, 1991 at 7:45am.
public getLongDate ( ) : string
return string

getRelativeDate() public method

Get a relative date string, e.g., 3 days ago.
public getRelativeDate ( ExpressiveDate $compare = null ) : string
$compare ExpressiveDate
return string

getShortDate() public method

Get a date string in the format of Jan 31, 1991.
public getShortDate ( ) : string
return string

getTime() public method

Get a date string in the format of 07:42:32.
public getTime ( ) : string
return string

getWeekStartDay() public method

Get the starting day of the week, where 0 is Sunday and 1 is Monday
public getWeekStartDay ( ) : integer
return integer

greaterOrEqualTo() public method

Determine if date is greater than or equal to another Expressive Date instance.
public greaterOrEqualTo ( ExpressiveDate $date ) : boolean
$date ExpressiveDate
return boolean

greaterThan() public method

Determine if date is greater than another Expressive Date instance.
public greaterThan ( ExpressiveDate $date ) : boolean
$date ExpressiveDate
return boolean

isDateAttribute() protected method

Syntactical sugar for determining if date object "is" a condition.
protected isDateAttribute ( string $attribute ) : mixed
$attribute string
return mixed

isFloat() protected method

Determine if a given amount is a floating point number.
protected isFloat ( integer | float $amount ) : boolean
$amount integer | float
return boolean

isWeekday() public method

Determine if day is a weekday.
public isWeekday ( ) : boolean
return boolean

isWeekend() public method

Determine if day is a weekend.
public isWeekend ( ) : boolean
return boolean

lessOrEqualTo() public method

Determine if date is less than or equal to another Expressive Date instance.
public lessOrEqualTo ( ExpressiveDate $date ) : boolean
$date ExpressiveDate
return boolean

lessThan() public method

Determine if date is less than another Expressive Date instance.
public lessThan ( ExpressiveDate $date ) : boolean
$date ExpressiveDate
return boolean

make() public static method

Make and return new ExpressiveDate instance.
public static make ( string $time = null, string | DateTimeZone $timezone = null ) : ExpressiveDate
$time string
$timezone string | DateTimeZone
return ExpressiveDate

makeFromDate() public static method

Make and return a new ExpressiveDate instance with defined year, month, and day.
public static makeFromDate ( integer $year = null, integer $month = null, integer $day = null, string | DateTimeZone $timezone = null ) : ExpressiveDate
$year integer
$month integer
$day integer
$timezone string | DateTimeZone
return ExpressiveDate

makeFromDateTime() public static method

Make and return a new ExpressiveDate instance with defined year, month, day, hour, minute, and second.
public static makeFromDateTime ( integer $year = null, integer $month = null, integer $day = null, integer $hour = null, integer $minute = null, integer $second = null, string | DateTimeZone $timezone = null ) : ExpressiveDate
$year integer
$month integer
$day integer
$hour integer
$minute integer
$second integer
$timezone string | DateTimeZone
return ExpressiveDate

makeFromTime() public static method

Make and return a new ExpressiveDate instance with defined hour, minute, and second.
public static makeFromTime ( integer $hour = null, integer $minute = null, integer $second = null, string | DateTimeZone $timezone = null ) : ExpressiveDate
$hour integer
$minute integer
$second integer
$timezone string | DateTimeZone
return ExpressiveDate

minusDays() public method

Minus a given amount of days.
public minusDays ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

minusHours() public method

Minus a given amount of hours.
public minusHours ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

minusMinutes() public method

Minus a given amount of minutes.
public minusMinutes ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

minusMonths() public method

Minus a given amount of months.
public minusMonths ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

minusOneDay() public method

Minus one day.
public minusOneDay ( ) : ExpressiveDate
return ExpressiveDate

minusOneHour() public method

Minus one hour.
public minusOneHour ( ) : ExpressiveDate
return ExpressiveDate

minusOneMinute() public method

Minus one minute.
public minusOneMinute ( ) : ExpressiveDate
return ExpressiveDate

minusOneMonth() public method

Minus one month.
public minusOneMonth ( ) : ExpressiveDate
return ExpressiveDate

minusOneSecond() public method

Minus one second.
public minusOneSecond ( ) : ExpressiveDate
return ExpressiveDate

minusOneWeek() public method

Minus one week.
public minusOneWeek ( ) : ExpressiveDate
return ExpressiveDate

minusOneYear() public method

Minus one year.
public minusOneYear ( ) : ExpressiveDate
return ExpressiveDate

minusSeconds() public method

Minus a given amount of seconds.
public minusSeconds ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

minusWeeks() public method

Minus a given amount of weeks.
public minusWeeks ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

minusYears() public method

Minus a given amount of years.
public minusYears ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate

modifyDays() protected method

Modify by an amount of days.
protected modifyDays ( integer $amount, boolean $invert = false ) : ExpressiveDate
$amount integer
$invert boolean
return ExpressiveDate

modifyFromInterval() protected method

Modify from a DateInterval object.
protected modifyFromInterval ( DateInterval $interval, boolean $invert = false ) : ExpressiveDate
$interval DateInterval
$invert boolean
return ExpressiveDate

modifyHours() protected method

Modify by an amount of hours.
protected modifyHours ( integer $amount, boolean $invert = false ) : ExpressiveDate
$amount integer
$invert boolean
return ExpressiveDate

modifyMinutes() protected method

Modify by an amount of minutes.
protected modifyMinutes ( integer $amount, boolean $invert = false ) : ExpressiveDate
$amount integer
$invert boolean
return ExpressiveDate

modifyMonths() protected method

Modify by an amount of months.
protected modifyMonths ( integer $amount, boolean $invert = false ) : ExpressiveDate
$amount integer
$invert boolean
return ExpressiveDate

modifySeconds() protected method

Modify by an amount of seconds.
protected modifySeconds ( integer $amount, boolean $invert = false ) : ExpressiveDate
$amount integer
$invert boolean
return ExpressiveDate

modifyWeeks() protected method

Modify by an amount of weeks.
protected modifyWeeks ( integer $amount, boolean $invert = false ) : ExpressiveDate
$amount integer
$invert boolean
return ExpressiveDate

modifyYears() protected method

Modify by an amount of Years.
protected modifyYears ( integer $amount, boolean $invert = false ) : ExpressiveDate
$amount integer
$invert boolean
return ExpressiveDate

notEqualTo() public method

Determine if date is not equal to another Expressive Date instance.
public notEqualTo ( ExpressiveDate $date ) : boolean
$date ExpressiveDate
return boolean

now() public method

Use the current date and time.
public now ( ) : ExpressiveDate
return ExpressiveDate

parseSuppliedTimezone() protected method

Parse a supplied timezone.
protected parseSuppliedTimezone ( string | DateTimeZone $timezone ) : DateTimeZone
$timezone string | DateTimeZone
return DateTimeZone

sameAs() public method

Alias for ExpressiveDate::equalTo()
public sameAs ( ExpressiveDate $date ) : boolean
$date ExpressiveDate
return boolean

setDateAttribute() protected method

Set a date attribute.
protected setDateAttribute ( string $attribute, $value ) : mixed
$attribute string
return mixed

setDefaultDateFormat() public method

Set the default date format.
public setDefaultDateFormat ( string $format ) : ExpressiveDate
$format string
return ExpressiveDate

setTimestampFromString() public method

Sets the timestamp from a human readable string.
public setTimestampFromString ( string $string ) : ExpressiveDate
$string string
return ExpressiveDate

setTimezone() public method

Set the timezone.
public setTimezone ( string | DateTimeZone $timezone ) : ExpressiveDate
$timezone string | DateTimeZone
return ExpressiveDate

setWeekStartDay() public method

Set the starting day of the week, where 0 is Sunday and 1 is Monday.
public setWeekStartDay ( integer | string $weekStartDay ) : void
$weekStartDay integer | string
return void

startOfDay() public method

Use the start of the day.
public startOfDay ( ) : ExpressiveDate
return ExpressiveDate

startOfMonth() public method

Use the start of the month.
public startOfMonth ( ) : ExpressiveDate
return ExpressiveDate

startOfWeek() public method

Use the start of the week.
public startOfWeek ( ) : ExpressiveDate
return ExpressiveDate

today() public method

Use today's date and time at midnight.
public today ( ) : ExpressiveDate
return ExpressiveDate

tomorrow() public method

Use tomorrow's date and time at midnight.
public tomorrow ( ) : ExpressiveDate
return ExpressiveDate

yesterday() public method

Use yesterday's date and time at midnight.
public yesterday ( ) : ExpressiveDate
return ExpressiveDate

Property Details

$defaultDateFormat protected_oe property

Default date format used when casting object to string.
protected string $defaultDateFormat
return string

$weekStartDay protected_oe property

Starting day of the week, where 0 is Sunday and 1 is Monday.
protected int $weekStartDay
return integer