Fr3nch13/CakePHP Utilities

I18nDateTimeInterface extends ChronosInterface, JsonSerializable

Interface for date formatting methods shared by both Time & Date.

Table of Contents

Constants

DAYS_PER_WEEK  = 7
DEFAULT_TO_STRING_FORMAT  = 'Y-m-d H:i:s'
Default format to use for __toString method when type juggling occurs.
FRIDAY  = 5
HOURS_PER_DAY  = 24
MINUTES_PER_HOUR  = 60
MONDAY  = 1
MONTHS_PER_QUARTER  = 3
MONTHS_PER_YEAR  = 12
SATURDAY  = 6
SECONDS_PER_MINUTE  = 60
SUNDAY  = 7
THURSDAY  = 4
TUESDAY  = 2
WEDNESDAY  = 3
WEEKS_PER_YEAR  = 52
YEARS_PER_CENTURY  = 100
YEARS_PER_DECADE  = 10

Methods

addDay()  : static
Add a day to the instance
addDays()  : static
Add days to the instance. Positive $value travels forward while negative $value travels into the past.
addHour()  : static
Add an hour to the instance
addHours()  : static
Add hours to the instance. Positive $value travels forward while negative $value travels into the past.
addMinute()  : static
Add a minute to the instance
addMinutes()  : static
Add minutes to the instance. Positive $value travels forward while negative $value travels into the past.
addMonth()  : static
Add a month to the instance.
addMonths()  : static
Add months to the instance. Positive $value travels forward while negative $value travels into the past.
addMonthsWithOverflow()  : static
Add months with overflowing to the instance. Positive $value travels forward while negative $value travels into the past.
addMonthWithOverflow()  : static
Add a month with overflow to the instance.
addSecond()  : static
Add a second to the instance
addSeconds()  : static
Add seconds to the instance. Positive $value travels forward while negative $value travels into the past.
addWeek()  : static
Add a week to the instance
addWeekday()  : static
Add a weekday to the instance
addWeekdays()  : static
Add weekdays to the instance. Positive $value travels forward while negative $value travels into the past.
addWeeks()  : static
Add weeks to the instance. Positive $value travels forward while negative $value travels into the past.
addYear()  : static
Add a year to the instance
addYears()  : static
Add years to the instance. Positive $value travel forward while negative $value travel into the past.
addYearsWithOverflow()  : static
Add years with overflowing to the instance. Positive $value travels forward while negative $value travels into the past.
addYearWithOverflow()  : static
Add a year with overflow to the instance
average()  : static
Modify the current instance to the average of a given instance (default now) and the current instance.
between()  : bool
Determines if the instance is between two others
closest()  : static
Get the closest date from the instance.
copy()  : static
Get a copy of the instance
day()  : static
Set the instance's day
diffFiltered()  : int
Get the difference by the given interval using a filter callable
diffForHumans()  : string
Get the difference in a human readable format in the current locale.
diffInDays()  : int
Get the difference in days
diffInDaysFiltered()  : int
Get the difference in days using a filter callable
diffInHours()  : int
Get the difference in hours
diffInHoursFiltered()  : int
Get the difference in hours using a filter callable
diffInMinutes()  : int
Get the difference in minutes
diffInMonths()  : int
Get the difference in months
diffInSeconds()  : int
Get the difference in seconds
diffInWeekdays()  : int
Get the difference in weekdays
diffInWeekendDays()  : int
Get the difference in weekend days using a filter
diffInWeeks()  : int
Get the difference in weeks
diffInYears()  : int
Get the difference in years
endOfCentury()  : static
Sets the date to end of the century and time to 23:59:59
endOfDay()  : static
Sets the time to 23:59:59 or 23:59:59.999999 if `$microseconds` is true.
endOfDecade()  : static
Sets the date to end of the decade and time to 23:59:59
endOfMonth()  : static
Sets the date to end of the month and time to 23:59:59
endOfWeek()  : static
Sets the date to end of week (defined in $weekEndsAt) and time to 23:59:59
endOfYear()  : static
Sets the date to end of the year and time to 23:59:59
eq()  : bool
Determines if the instance is equal to another
equals()  : bool
Determines if the instance is equal to another
farthest()  : static
Get the farthest date from the instance.
firstOfMonth()  : static
Modify to the first occurrence of a given day of the week in the current month. If no dayOfWeek is provided, modify to the first day of the current month. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
firstOfQuarter()  : static
Modify to the first occurrence of a given day of the week in the current quarter. If no dayOfWeek is provided, modify to the first day of the current quarter. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
firstOfYear()  : static
Modify to the first occurrence of a given day of the week in the current year. If no dayOfWeek is provided, modify to the first day of the current year. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
getDefaultLocale()  : string|null
Gets the default locale.
getDiffFormatter()  : DifferenceFormatterInterface
Get the difference formatter instance.
greaterThan()  : bool
Determines if the instance is greater (after) than another
greaterThanOrEquals()  : bool
Determines if the instance is greater (after) than or equal to another
gt()  : bool
Determines if the instance is greater (after) than another
gte()  : bool
Determines if the instance is greater (after) than or equal to another
hour()  : static
Set the instance's hour
i18nFormat()  : string|int
Returns a formatted string for this time object using the preferred format and language for the specified locale.
isBirthday()  : bool
Check if its the birthday. Compares the date/month values of the two dates.
isFriday()  : bool
Checks if this day is a Friday.
isFuture()  : bool
Determines if the instance is in the future, ie. greater (after) than now
isLeapYear()  : bool
Determines if the instance is a leap year
isMonday()  : bool
Checks if this day is a Monday.
isMutable()  : bool
Check if instance of ChronosInterface is mutable.
isPast()  : bool
Determines if the instance is in the past, ie. less (before) than now
isSameDay()  : bool
Checks if the passed in date is the same day as the instance current day.
isSaturday()  : bool
Checks if this day is a Saturday.
isSunday()  : bool
Checks if this day is a Sunday.
isThisMonth()  : bool
Returns true if this object represents a date within the current month
isThisWeek()  : bool
Returns true if this object represents a date within the current week
isThisYear()  : bool
Returns true if this object represents a date within the current year
isThursday()  : bool
Checks if this day is a Thursday.
isToday()  : bool
Determines if the instance is today
isTomorrow()  : bool
Determines if the instance is tomorrow
isTuesday()  : bool
Checks if this day is a Tuesday.
isWednesday()  : bool
Checks if this day is a Wednesday.
isWeekday()  : bool
Determines if the instance is a weekday
isWeekend()  : bool
Determines if the instance is a weekend day
isWithinNext()  : bool
Returns true this instance will happen within the specified interval
isYesterday()  : bool
Determines if the instance is yesterday
lastOfMonth()  : static
Modify to the last occurrence of a given day of the week in the current month. If no dayOfWeek is provided, modify to the last day of the current month. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
lastOfQuarter()  : static
Modify to the last occurrence of a given day of the week in the current quarter. If no dayOfWeek is provided, modify to the last day of the current quarter. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
lastOfYear()  : static
Modify to the last occurrence of a given day of the week in the current year. If no dayOfWeek is provided, modify to the last day of the current year. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
lessThan()  : bool
Determines if the instance is less (before) than another
lessThanOrEquals()  : bool
Determines if the instance is less (before) or equal to another
lt()  : bool
Determines if the instance is less (before) than another
lte()  : bool
Determines if the instance is less (before) or equal to another
max()  : static
Get the maximum instance between a given instance (default now) and the current instance.
min()  : static
Get the minimum instance between a given instance (default now) and the current instance.
minute()  : static
Set the instance's minute
month()  : static
Set the instance's month
ne()  : bool
Determines if the instance is not equal to another
next()  : static
Modify to the next occurrence of a given day of the week.
nice()  : string
Returns a nicely formatted date string for this object.
notEquals()  : bool
Determines if the instance is not equal to another
now()  : static
Get a ChronosInterface instance for the current date and time
nthOfMonth()  : static|false
Modify to the given occurrence of a given day of the week in the current month. If the calculated occurrence is outside the scope of the current month, then return false and no modifications are made.
nthOfQuarter()  : static|false
Modify to the given occurrence of a given day of the week in the current quarter. If the calculated occurrence is outside the scope of the current quarter, then return false and no modifications are made.
nthOfYear()  : static|false
Modify to the given occurrence of a given day of the week in the current year. If the calculated occurrence is outside the scope of the current year, then return false and no modifications are made.
parseDate()  : static|null
Returns a new Time object after parsing the provided $date string based on the passed or configured date time format. This method is locale dependent, Any string that is passed to this function will be interpreted as a locale dependent string.
parseDateTime()  : static|null
Returns a new Time object after parsing the provided time string based on the passed or configured date time format. This method is locale dependent, Any string that is passed to this function will be interpreted as a locale dependent string.
parseTime()  : static|null
Returns a new Time object after parsing the provided $time string based on the passed or configured date time format. This method is locale dependent, Any string that is passed to this function will be interpreted as a locale dependent string.
previous()  : static
Modify to the previous occurrence of a given day of the week.
resetToStringFormat()  : void
Resets the format used to the default when converting an instance of this type to a string
second()  : static
Set the instance's second
secondsSinceMidnight()  : int
The number of seconds since midnight.
secondsUntilEndOfDay()  : int
The number of seconds until 23:59:59.
setDateTime()  : static
Set the date and time all together
setDefaultLocale()  : void
Sets the default locale.
setDiffFormatter()  : void
Set the difference formatter instance.
setJsonEncodeFormat()  : void
Sets the default format used when converting this object to JSON
setTimeFromTimeString()  : static
Set the time by time string
setTimezone()  : static
Set the instance's timezone from a string or object
setToStringFormat()  : void
Sets the default format used when type converting instances of this type to string
startOfCentury()  : static
Sets the date to the first day of the century and the time to 00:00:00
startOfDay()  : static
Sets the time to 00:00:00
startOfDecade()  : static
Sets the date to the first day of the decade and the time to 00:00:00
startOfMonth()  : static
Sets the date to the first day of the month and the time to 00:00:00
startOfWeek()  : static
Sets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00
startOfYear()  : static
Sets the date to the first day of the year and the time to 00:00:00
subDay()  : static
Remove a day from the instance
subDays()  : static
Remove days from the instance
subHour()  : static
Remove an hour from the instance
subHours()  : static
Remove hours from the instance
subMinute()  : static
Remove a minute from the instance
subMinutes()  : static
Remove minutes from the instance
subMonth()  : static
Remove a month from the instance
subMonths()  : static
Remove months from the instance.
subMonthsWithOverflow()  : static
Remove months with overflow from the instance.
subMonthWithOverflow()  : static
Remove a month with overflow from the instance.
subSecond()  : static
Remove a second from the instance
subSeconds()  : static
Remove seconds from the instance
subWeek()  : static
Remove a week from the instance
subWeekday()  : static
Remove a weekday from the instance
subWeekdays()  : static
Remove weekdays from the instance
subWeeks()  : static
Remove weeks to the instance
subYear()  : static
Remove a year from the instance.
subYears()  : static
Remove years from the instance.
subYearsWithOverflow()  : static
Remove years with overflow from the instance
subYearWithOverflow()  : static
Remove a year with overflow from the instance
timestamp()  : static
Set the instance's timestamp
timezone()  : static
Alias for setTimezone()
toAtomString()  : string
Format the instance as ATOM
toCookieString()  : string
Format the instance as COOKIE
toDateString()  : string
Format the instance as date
toDateTimeString()  : string
Format the instance as date and time
toDayDateTimeString()  : string
Format the instance with day, date and time
toFormattedDateString()  : string
Format the instance as a readable date
toIso8601String()  : string
Format the instance as ISO8601
toRfc1036String()  : string
Format the instance as RFC1036
toRfc1123String()  : string
Format the instance as RFC1123
toRfc2822String()  : string
Format the instance as RFC2822
toRfc3339String()  : string
Format the instance as RFC3339
toRfc822String()  : string
Format the instance as RFC822
toRfc850String()  : string
Format the instance as RFC850
toRssString()  : string
Format the instance as RSS
toTimeString()  : string
Format the instance as time
toW3cString()  : string
Format the instance as W3C
tz()  : static
Alias for setTimezone()
wasWithinLast()  : bool
Returns true this instance happened within the specified interval
year()  : static
Set the instance's year

Constants

DEFAULT_TO_STRING_FORMAT

Default format to use for __toString method when type juggling occurs.

public string DEFAULT_TO_STRING_FORMAT = 'Y-m-d H:i:s'

Methods

addDay()

Add a day to the instance

public addDay([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of days to add.

Return values
static

addDays()

Add days to the instance. Positive $value travels forward while negative $value travels into the past.

public addDays(int $value) : static
Parameters
$value : int

The number of days to add.

Return values
static

addHour()

Add an hour to the instance

public addHour([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of hours to add.

Return values
static

addHours()

Add hours to the instance. Positive $value travels forward while negative $value travels into the past.

public addHours(int $value) : static
Parameters
$value : int

The number of hours to add.

Return values
static

addMinute()

Add a minute to the instance

public addMinute([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of minutes to add.

Return values
static

addMinutes()

Add minutes to the instance. Positive $value travels forward while negative $value travels into the past.

public addMinutes(int $value) : static
Parameters
$value : int

The number of minutes to add.

Return values
static

addMonth()

Add a month to the instance.

public addMonth([int $value = 1 ]) : static

Has the same behavior as addMonths().

Parameters
$value : int = 1

The number of months to add.

Return values
static

addMonths()

Add months to the instance. Positive $value travels forward while negative $value travels into the past.

public addMonths(int $value) : static

If the new date does not exist, the last day of the month is used instead instead of overflowing into the next month.

Example:

 (new Chronos('2015-01-03'))->addMonths(1); // Results in 2015-02-03

 (new Chronos('2015-01-31'))->addMonths(1); // Results in 2015-02-28
Parameters
$value : int

The number of months to add.

Return values
static

addMonthsWithOverflow()

Add months with overflowing to the instance. Positive $value travels forward while negative $value travels into the past.

public addMonthsWithOverflow(int $value) : static

If the new date does not exist, the days overflow into the next month.

Example:

 (new Chronos('2012-01-30'))->addMonthsWithOverflow(1); // Results in 2013-03-01
Parameters
$value : int

The number of months to add.

Return values
static

addMonthWithOverflow()

Add a month with overflow to the instance.

public addMonthWithOverflow([int $value = 1 ]) : static

Has the same behavior as addMonthsWithOverflow().

Parameters
$value : int = 1

The number of months to add.

Return values
static

addSecond()

Add a second to the instance

public addSecond([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of seconds to add.

Return values
static

addSeconds()

Add seconds to the instance. Positive $value travels forward while negative $value travels into the past.

public addSeconds(int $value) : static
Parameters
$value : int

The number of seconds to add.

Return values
static

addWeek()

Add a week to the instance

public addWeek([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of weeks to add.

Return values
static

addWeekday()

Add a weekday to the instance

public addWeekday([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of weekdays to add.

Return values
static

addWeekdays()

Add weekdays to the instance. Positive $value travels forward while negative $value travels into the past.

public addWeekdays(int $value) : static
Parameters
$value : int

The number of weekdays to add.

Return values
static

addWeeks()

Add weeks to the instance. Positive $value travels forward while negative $value travels into the past.

public addWeeks(int $value) : static
Parameters
$value : int

The number of weeks to add.

Return values
static

addYear()

Add a year to the instance

public addYear([int $value = 1 ]) : static

Has the same behavior as addYears().

Parameters
$value : int = 1

The number of years to add.

Return values
static

addYears()

Add years to the instance. Positive $value travel forward while negative $value travel into the past.

public addYears(int $value) : static

If the new date does not exist, the last day of the month is used instead instead of overflowing into the next month.

Example:

 (new Chronos('2015-01-03'))->addYears(1); // Results in 2016-01-03

 (new Chronos('2012-02-29'))->addYears(1); // Results in 2013-02-28
Parameters
$value : int

The number of years to add.

Return values
static

addYearsWithOverflow()

Add years with overflowing to the instance. Positive $value travels forward while negative $value travels into the past.

public addYearsWithOverflow(int $value) : static

If the new date does not exist, the days overflow into the next month.

Example:

 (new Chronos('2012-02-29'))->addYearsWithOverflow(1); // Results in 2013-03-01
Parameters
$value : int

The number of years to add.

Return values
static

addYearWithOverflow()

Add a year with overflow to the instance

public addYearWithOverflow([int $value = 1 ]) : static

Has the same behavior as addYearsWithOverflow().

Parameters
$value : int = 1

The number of years to add.

Return values
static

average()

Modify the current instance to the average of a given instance (default now) and the current instance.

public average([ChronosInterface $dt = null ]) : static
Parameters
$dt : ChronosInterface = null

The instance to compare with.

Return values
static

copy()

Get a copy of the instance

public copy() : static
Return values
static

day()

Set the instance's day

public day(int $value) : static
Parameters
$value : int

The day value.

Return values
static

diffFiltered()

Get the difference by the given interval using a filter callable

public diffFiltered(ChronosInterval $ci, callable $callback[, ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$ci : ChronosInterval

An interval to traverse by

$callback : callable

The callback to use for filtering.

$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffForHumans()

Get the difference in a human readable format in the current locale.

public diffForHumans([ChronosInterface|null $other = null ][, bool $absolute = false ]) : string

When comparing a value in the past to default now: 1 hour ago 5 months ago

When comparing a value in the future to default now: 1 hour from now 5 months from now

When comparing a value in the past to another value: 1 hour before 5 months before

When comparing a value in the future to another value: 1 hour after 5 months after

Parameters
$other : ChronosInterface|null = null

The datetime to compare with.

$absolute : bool = false

Removes time difference modifiers ago, after, etc

Return values
string

diffInDays()

Get the difference in days

public diffInDays([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInDaysFiltered()

Get the difference in days using a filter callable

public diffInDaysFiltered(callable $callback[, ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$callback : callable

The callback to use for filtering.

$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInHours()

Get the difference in hours

public diffInHours([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInHoursFiltered()

Get the difference in hours using a filter callable

public diffInHoursFiltered(callable $callback[, ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$callback : callable

The callback to use for filtering.

$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInMinutes()

Get the difference in minutes

public diffInMinutes([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInMonths()

Get the difference in months

public diffInMonths([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInSeconds()

Get the difference in seconds

public diffInSeconds([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInWeekdays()

Get the difference in weekdays

public diffInWeekdays([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInWeekendDays()

Get the difference in weekend days using a filter

public diffInWeekendDays([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInWeeks()

Get the difference in weeks

public diffInWeeks([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

diffInYears()

Get the difference in years

public diffInYears([ChronosInterface|null $dt = null ][, bool $abs = true ]) : int
Parameters
$dt : ChronosInterface|null = null

The instance to difference from.

$abs : bool = true

Get the absolute of the difference

Return values
int

endOfCentury()

Sets the date to end of the century and time to 23:59:59

public endOfCentury() : static
Return values
static

endOfDay()

Sets the time to 23:59:59 or 23:59:59.999999 if `$microseconds` is true.

public endOfDay([bool $microseconds = false ]) : static
Parameters
$microseconds : bool = false

Whether to set microseconds

Return values
static

endOfDecade()

Sets the date to end of the decade and time to 23:59:59

public endOfDecade() : static
Return values
static

endOfMonth()

Sets the date to end of the month and time to 23:59:59

public endOfMonth() : static
Return values
static

endOfWeek()

Sets the date to end of week (defined in $weekEndsAt) and time to 23:59:59

public endOfWeek() : static
Return values
static

endOfYear()

Sets the date to end of the year and time to 23:59:59

public endOfYear() : static
Return values
static

firstOfMonth()

Modify to the first occurrence of a given day of the week in the current month. If no dayOfWeek is provided, modify to the first day of the current month. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

public firstOfMonth([int|null $dayOfWeek = null ]) : static
Parameters
$dayOfWeek : int|null = null

The day of the week to move to.

Return values
static

firstOfQuarter()

Modify to the first occurrence of a given day of the week in the current quarter. If no dayOfWeek is provided, modify to the first day of the current quarter. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

public firstOfQuarter([int|null $dayOfWeek = null ]) : static
Parameters
$dayOfWeek : int|null = null

The day of the week to move to.

Return values
static

firstOfYear()

Modify to the first occurrence of a given day of the week in the current year. If no dayOfWeek is provided, modify to the first day of the current year. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

public firstOfYear([int|null $dayOfWeek = null ]) : static
Parameters
$dayOfWeek : int|null = null

The day of the week to move to.

Return values
static

getDefaultLocale()

Gets the default locale.

public static getDefaultLocale() : string|null
Return values
string|null

The default locale string to be used or null.

greaterThanOrEquals()

Determines if the instance is greater (after) than or equal to another

public greaterThanOrEquals(ChronosInterface $dt) : bool
Parameters
$dt : ChronosInterface

The instance to compare with.

Return values
bool

hour()

Set the instance's hour

public hour(int $value) : static
Parameters
$value : int

The hour value.

Return values
static

i18nFormat()

Returns a formatted string for this time object using the preferred format and language for the specified locale.

public i18nFormat([string|int|null $format = null ][, DateTimeZone|string|null $timezone = null ][, string|null $locale = null ]) : string|int

It is possible to specify the desired format for the string to be displayed. You can either pass IntlDateFormatter constants as the first argument of this function, or pass a full ICU date formatting string as specified in the following resource: https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classSimpleDateFormat.html#details.

Additional to IntlDateFormatter constants and date formatting string you can use Time::UNIX_TIMESTAMP_FORMAT to get a unix timestamp

Examples

$time = new Time('2014-04-20 22:10');
$time->i18nFormat(); // outputs '4/20/14, 10:10 PM' for the en-US locale
$time->i18nFormat(\IntlDateFormatter::FULL); // Use the full date and time format
$time->i18nFormat([\IntlDateFormatter::FULL, \IntlDateFormatter::SHORT]); // Use full date but short time format
$time->i18nFormat('yyyy-MM-dd HH:mm:ss'); // outputs '2014-04-20 22:10'
$time->i18nFormat(Time::UNIX_TIMESTAMP_FORMAT); // outputs '1398031800'

If you wish to control the default format to be used for this method, you can alter the value of the static Time::$defaultLocale variable and set it to one of the possible formats accepted by this function.

You can read about the available IntlDateFormatter constants at https://secure.php.net/manual/en/class.intldateformatter.php

If you need to display the date in a different timezone than the one being used for this Time object without altering its internal state, you can pass a timezone string or object as the second parameter.

Finally, should you need to use a different locale for displaying this time object, pass a locale string as the third parameter to this function.

Examples

$time = new Time('2014-04-20 22:10');
$time->i18nFormat(null, null, 'de-DE');
$time->i18nFormat(\IntlDateFormatter::FULL, 'Europe/Berlin', 'de-DE');

You can control the default locale to be used by setting the static variable Time::$defaultLocale to a valid locale string. If empty, the default will be taken from the intl.default_locale ini config.

Parameters
$format : string|int|null = null

Format string.

$timezone : DateTimeZone|string|null = null

Timezone string or DateTimeZone object in which the date will be displayed. The timezone stored for this object will not be changed.

$locale : string|null = null

The locale name in which the date should be displayed (e.g. pt-BR)

Return values
string|int

Formatted and translated date string

isFriday()

Checks if this day is a Friday.

public isFriday() : bool
Return values
bool

isFuture()

Determines if the instance is in the future, ie. greater (after) than now

public isFuture() : bool
Return values
bool

isLeapYear()

Determines if the instance is a leap year

public isLeapYear() : bool
Return values
bool

isMonday()

Checks if this day is a Monday.

public isMonday() : bool
Return values
bool

isMutable()

Check if instance of ChronosInterface is mutable.

public isMutable() : bool
Return values
bool

isPast()

Determines if the instance is in the past, ie. less (before) than now

public isPast() : bool
Return values
bool

isSaturday()

Checks if this day is a Saturday.

public isSaturday() : bool
Return values
bool

isSunday()

Checks if this day is a Sunday.

public isSunday() : bool
Return values
bool

isThisMonth()

Returns true if this object represents a date within the current month

public isThisMonth() : bool
Return values
bool

isThisWeek()

Returns true if this object represents a date within the current week

public isThisWeek() : bool
Return values
bool

isThisYear()

Returns true if this object represents a date within the current year

public isThisYear() : bool
Return values
bool

isThursday()

Checks if this day is a Thursday.

public isThursday() : bool
Return values
bool

isToday()

Determines if the instance is today

public isToday() : bool
Return values
bool

isTomorrow()

Determines if the instance is tomorrow

public isTomorrow() : bool
Return values
bool

isTuesday()

Checks if this day is a Tuesday.

public isTuesday() : bool
Return values
bool

isWednesday()

Checks if this day is a Wednesday.

public isWednesday() : bool
Return values
bool

isWeekday()

Determines if the instance is a weekday

public isWeekday() : bool
Return values
bool

isWeekend()

Determines if the instance is a weekend day

public isWeekend() : bool
Return values
bool

isWithinNext()

Returns true this instance will happen within the specified interval

public isWithinNext(string|int $timeInterval) : bool
Parameters
$timeInterval : string|int

the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.

Return values
bool

isYesterday()

Determines if the instance is yesterday

public isYesterday() : bool
Return values
bool

lastOfMonth()

Modify to the last occurrence of a given day of the week in the current month. If no dayOfWeek is provided, modify to the last day of the current month. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

public lastOfMonth([int|null $dayOfWeek = null ]) : static
Parameters
$dayOfWeek : int|null = null

The day of the week to move to.

Return values
static

lastOfQuarter()

Modify to the last occurrence of a given day of the week in the current quarter. If no dayOfWeek is provided, modify to the last day of the current quarter. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

public lastOfQuarter([int|null $dayOfWeek = null ]) : static
Parameters
$dayOfWeek : int|null = null

The day of the week to move to.

Return values
static

lastOfYear()

Modify to the last occurrence of a given day of the week in the current year. If no dayOfWeek is provided, modify to the last day of the current year. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

public lastOfYear([int|null $dayOfWeek = null ]) : static
Parameters
$dayOfWeek : int|null = null

The day of the week to move to.

Return values
static

max()

Get the maximum instance between a given instance (default now) and the current instance.

public max([ChronosInterface|null $dt = null ]) : static
Parameters
$dt : ChronosInterface|null = null

The instance to compare with.

Return values
static

min()

Get the minimum instance between a given instance (default now) and the current instance.

public min([ChronosInterface|null $dt = null ]) : static
Parameters
$dt : ChronosInterface|null = null

The instance to compare with.

Return values
static

minute()

Set the instance's minute

public minute(int $value) : static
Parameters
$value : int

The minute value.

Return values
static

month()

Set the instance's month

public month(int $value) : static
Parameters
$value : int

The month value.

Return values
static

next()

Modify to the next occurrence of a given day of the week.

public next([int|null $dayOfWeek = null ]) : static

If no dayOfWeek is provided, modify to the next occurrence of the current day of the week. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

Parameters
$dayOfWeek : int|null = null

The day of the week to move to.

Return values
static

nice()

Returns a nicely formatted date string for this object.

public nice([DateTimeZone|string|null $timezone = null ][, string|null $locale = null ]) : string

The format to be used is stored in the static property Time::niceFormat.

Parameters
$timezone : DateTimeZone|string|null = null

Timezone string or DateTimeZone object in which the date will be displayed. The timezone stored for this object will not be changed.

$locale : string|null = null

The locale name in which the date should be displayed (e.g. pt-BR)

Return values
string

Formatted date string

now()

Get a ChronosInterface instance for the current date and time

public static now([DateTimeZone|string|null $tz = null ]) : static
Parameters
$tz : DateTimeZone|string|null = null

The DateTimeZone object or timezone name.

Return values
static

nthOfMonth()

Modify to the given occurrence of a given day of the week in the current month. If the calculated occurrence is outside the scope of the current month, then return false and no modifications are made.

public nthOfMonth(int $nth, int $dayOfWeek) : static|false

Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

Parameters
$nth : int

The offset to use.

$dayOfWeek : int

The day of the week to move to.

Return values
static|false

nthOfQuarter()

Modify to the given occurrence of a given day of the week in the current quarter. If the calculated occurrence is outside the scope of the current quarter, then return false and no modifications are made.

public nthOfQuarter(int $nth, int $dayOfWeek) : static|false

Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

Parameters
$nth : int

The offset to use.

$dayOfWeek : int

The day of the week to move to.

Return values
static|false

nthOfYear()

Modify to the given occurrence of a given day of the week in the current year. If the calculated occurrence is outside the scope of the current year, then return false and no modifications are made.

public nthOfYear(int $nth, int $dayOfWeek) : static|false

Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

Parameters
$nth : int

The offset to use.

$dayOfWeek : int

The day of the week to move to.

Return values
static|false

parseDate()

Returns a new Time object after parsing the provided $date string based on the passed or configured date time format. This method is locale dependent, Any string that is passed to this function will be interpreted as a locale dependent string.

public static parseDate(string $date[, array<string|int, mixed>|string|int|null $format = null ]) : static|null

When no $format is provided, the wordFormat format will be used.

If it was impossible to parse the provided time, null will be returned.

Example:

 $time = Time::parseDate('10/13/2013');
 $time = Time::parseDate('13 Oct, 2013', 'dd MMM, y');
 $time = Time::parseDate('13 Oct, 2013', IntlDateFormatter::SHORT);
Parameters
$date : string

The date string to parse.

$format : array<string|int, mixed>|string|int|null = null

Any format accepted by IntlDateFormatter.

Return values
static|null

parseDateTime()

Returns a new Time object after parsing the provided time string based on the passed or configured date time format. This method is locale dependent, Any string that is passed to this function will be interpreted as a locale dependent string.

public static parseDateTime(string $time[, array<string|int, int>|string|null $format = null ][, DateTimeZone|string|null $tz = null ]) : static|null

When no $format is provided, the toString format will be used.

If it was impossible to parse the provided time, null will be returned.

Example:

 $time = Time::parseDateTime('10/13/2013 12:54am');
 $time = Time::parseDateTime('13 Oct, 2013 13:54', 'dd MMM, y H:mm');
 $time = Time::parseDateTime('10/10/2015', [IntlDateFormatter::SHORT, -1]);
Parameters
$time : string

The time string to parse.

$format : array<string|int, int>|string|null = null

Any format accepted by IntlDateFormatter.

$tz : DateTimeZone|string|null = null

The timezone for the instance

Tags
throws
InvalidArgumentException

If $format is a single int instead of array of constants

Return values
static|null

parseTime()

Returns a new Time object after parsing the provided $time string based on the passed or configured date time format. This method is locale dependent, Any string that is passed to this function will be interpreted as a locale dependent string.

public static parseTime(string $time[, string|int|null $format = null ]) : static|null

When no $format is provided, the IntlDateFormatter::SHORT format will be used.

If it was impossible to parse the provided time, null will be returned.

Example:

 $time = Time::parseTime('11:23pm');
Parameters
$time : string

The time string to parse.

$format : string|int|null = null

Any format accepted by IntlDateFormatter.

Return values
static|null

previous()

Modify to the previous occurrence of a given day of the week.

public previous([int|null $dayOfWeek = null ]) : static

If no dayOfWeek is provided, modify to the previous occurrence of the current day of the week. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.

Parameters
$dayOfWeek : int|null = null

The day of the week to move to.

Return values
static

resetToStringFormat()

Resets the format used to the default when converting an instance of this type to a string

public static resetToStringFormat() : void

second()

Set the instance's second

public second(int $value) : static
Parameters
$value : int

The seconds value.

Return values
static

secondsSinceMidnight()

The number of seconds since midnight.

public secondsSinceMidnight() : int
Return values
int

secondsUntilEndOfDay()

The number of seconds until 23:59:59.

public secondsUntilEndOfDay() : int
Return values
int

setDateTime()

Set the date and time all together

public setDateTime(int $year, int $month, int $day, int $hour, int $minute[, int $second = 0 ]) : static
Parameters
$year : int

The year to set.

$month : int

The month to set.

$day : int

The day to set.

$hour : int

The hour to set.

$minute : int

The minute to set.

$second : int = 0

The second to set.

Return values
static

setDefaultLocale()

Sets the default locale.

public static setDefaultLocale([string|null $locale = null ]) : void
Parameters
$locale : string|null = null

The default locale string to be used or null.

setJsonEncodeFormat()

Sets the default format used when converting this object to JSON

public static setJsonEncodeFormat(Closure|array<string|int, mixed>|string|int $format) : void

The format should be either the formatting constants from IntlDateFormatter as described in (https://secure.php.net/manual/en/class.intldateformatter.php) or a pattern as specified in (https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classSimpleDateFormat.html#details)

It is possible to provide an array of 2 constants. In this case, the first position will be used for formatting the date part of the object and the second position will be used to format the time part.

Alternatively, the format can provide a callback. In this case, the callback can receive this datetime object and return a formatted string.

Parameters
$format : Closure|array<string|int, mixed>|string|int

Format.

Tags
see
Time::i18nFormat()

setTimeFromTimeString()

Set the time by time string

public setTimeFromTimeString(string $time) : static
Parameters
$time : string

Time as string.

Return values
static

setTimezone()

Set the instance's timezone from a string or object

public setTimezone(DateTimeZone|string $value) : static
Parameters
$value : DateTimeZone|string

The DateTimeZone object or timezone name to use.

Return values
static

setToStringFormat()

Sets the default format used when type converting instances of this type to string

public static setToStringFormat(array<string|int, int>|string|int $format) : void
Parameters
$format : array<string|int, int>|string|int

Format.

startOfCentury()

Sets the date to the first day of the century and the time to 00:00:00

public startOfCentury() : static
Return values
static

startOfDay()

Sets the time to 00:00:00

public startOfDay() : static
Return values
static

startOfDecade()

Sets the date to the first day of the decade and the time to 00:00:00

public startOfDecade() : static
Return values
static

startOfMonth()

Sets the date to the first day of the month and the time to 00:00:00

public startOfMonth() : static
Return values
static

startOfWeek()

Sets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00

public startOfWeek() : static
Return values
static

startOfYear()

Sets the date to the first day of the year and the time to 00:00:00

public startOfYear() : static
Return values
static

subDay()

Remove a day from the instance

public subDay([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of days to remove.

Return values
static

subDays()

Remove days from the instance

public subDays(int $value) : static
Parameters
$value : int

The number of days to remove.

Return values
static

subHour()

Remove an hour from the instance

public subHour([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of hours to remove.

Return values
static

subHours()

Remove hours from the instance

public subHours(int $value) : static
Parameters
$value : int

The number of hours to remove.

Return values
static

subMinute()

Remove a minute from the instance

public subMinute([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of minutes to remove.

Return values
static

subMinutes()

Remove minutes from the instance

public subMinutes(int $value) : static
Parameters
$value : int

The number of minutes to remove.

Return values
static

subMonth()

Remove a month from the instance

public subMonth([int $value = 1 ]) : static

Has the same behavior as addMonths().

Parameters
$value : int = 1

The number of months to remove.

Return values
static

subMonths()

Remove months from the instance.

public subMonths(int $value) : static

Has the same behavior as addMonths().

Parameters
$value : int

The number of months to remove.

Return values
static

subMonthsWithOverflow()

Remove months with overflow from the instance.

public subMonthsWithOverflow(int $value) : static

Has the same behavior as addMonthsWithOverflow().

Parameters
$value : int

The number of months to remove.

Return values
static

subMonthWithOverflow()

Remove a month with overflow from the instance.

public subMonthWithOverflow([int $value = 1 ]) : static

Has the same behavior as addMonthsWithOverflow().

Parameters
$value : int = 1

The number of months to remove.

Return values
static

subSecond()

Remove a second from the instance

public subSecond([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of seconds to remove.

Return values
static

subSeconds()

Remove seconds from the instance

public subSeconds(int $value) : static
Parameters
$value : int

The number of seconds to remove.

Return values
static

subWeek()

Remove a week from the instance

public subWeek([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of weeks to remove.

Return values
static

subWeekday()

Remove a weekday from the instance

public subWeekday([int $value = 1 ]) : static
Parameters
$value : int = 1

The number of weekdays to remove.

Return values
static

subWeekdays()

Remove weekdays from the instance

public subWeekdays(int $value) : static
Parameters
$value : int

The number of weekdays to remove.

Return values
static

subWeeks()

Remove weeks to the instance

public subWeeks(int $value) : static
Parameters
$value : int

The number of weeks to remove.

Return values
static

subYear()

Remove a year from the instance.

public subYear([int $value = 1 ]) : static

Has the same behavior as addYears().

Parameters
$value : int = 1

The number of years to remove.

Return values
static

subYears()

Remove years from the instance.

public subYears(int $value) : static

Has the same behavior as addYears().

Parameters
$value : int

The number of years to remove.

Return values
static

subYearsWithOverflow()

Remove years with overflow from the instance

public subYearsWithOverflow(int $value) : static

Has the same behavior as addYearsWithOverflow().

Parameters
$value : int

The number of years to remove.

Return values
static

subYearWithOverflow()

Remove a year with overflow from the instance

public subYearWithOverflow([int $value = 1 ]) : static

Has the same behavior as addYearsWithOverflow().

Parameters
$value : int = 1

The number of years to remove.

Return values
static

timestamp()

Set the instance's timestamp

public timestamp(int $value) : static
Parameters
$value : int

The timestamp value to set.

Return values
static

timezone()

Alias for setTimezone()

public timezone(DateTimeZone|string $value) : static
Parameters
$value : DateTimeZone|string

The DateTimeZone object or timezone name to use.

Return values
static

toAtomString()

Format the instance as ATOM

public toAtomString() : string
Return values
string

toCookieString()

Format the instance as COOKIE

public toCookieString() : string
Return values
string

toDateString()

Format the instance as date

public toDateString() : string
Return values
string

toDateTimeString()

Format the instance as date and time

public toDateTimeString() : string
Return values
string

toDayDateTimeString()

Format the instance with day, date and time

public toDayDateTimeString() : string
Return values
string

toFormattedDateString()

Format the instance as a readable date

public toFormattedDateString() : string
Return values
string

toIso8601String()

Format the instance as ISO8601

public toIso8601String() : string
Return values
string

toRfc1036String()

Format the instance as RFC1036

public toRfc1036String() : string
Return values
string

toRfc1123String()

Format the instance as RFC1123

public toRfc1123String() : string
Return values
string

toRfc2822String()

Format the instance as RFC2822

public toRfc2822String() : string
Return values
string

toRfc3339String()

Format the instance as RFC3339

public toRfc3339String() : string
Return values
string

toRfc822String()

Format the instance as RFC822

public toRfc822String() : string
Return values
string

toRfc850String()

Format the instance as RFC850

public toRfc850String() : string
Return values
string

toRssString()

Format the instance as RSS

public toRssString() : string
Return values
string

toTimeString()

Format the instance as time

public toTimeString() : string
Return values
string

toW3cString()

Format the instance as W3C

public toW3cString() : string
Return values
string

tz()

Alias for setTimezone()

public tz(DateTimeZone|string $value) : static
Parameters
$value : DateTimeZone|string

The DateTimeZone object or timezone name to use.

Return values
static

wasWithinLast()

Returns true this instance happened within the specified interval

public wasWithinLast(string|int $timeInterval) : bool
Parameters
$timeInterval : string|int

the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.

Return values
bool

year()

Set the instance's year

public year(int $value) : static
Parameters
$value : int

The year value.

Return values
static

        
On this page

Search results