Class FrozenDate
Extends the Date class provided by Chronos.
Adds handy methods and locale-aware formatting helpers
This object provides an immutable variant of Cake\I18n\Date
Constants
-
int
DAYS_PER_WEEK ¶7
-
string
DEFAULT_TO_STRING_FORMAT ¶'Y-m-d H:i:s'
Default format to use for __toString method when type juggling occurs.
-
int
FRIDAY ¶5
-
int
HOURS_PER_DAY ¶24
-
int
MINUTES_PER_HOUR ¶60
-
int
MONDAY ¶1
-
int
MONTHS_PER_QUARTER ¶3
-
int
MONTHS_PER_YEAR ¶12
-
int
SATURDAY ¶6
-
int
SECONDS_PER_MINUTE ¶60
-
int
SUNDAY ¶7
-
int
THURSDAY ¶4
-
int
TUESDAY ¶2
-
int
WEDNESDAY ¶3
-
int
WEEKS_PER_YEAR ¶52
-
int
YEARS_PER_CENTURY ¶100
-
int
YEARS_PER_DECADE ¶10
Property Summary
-
$_formatters protected static
IntlDateFormatter[]
In-memory cache of date formatters
-
$_jsonEncodeFormat protected static
string|array|int
The format to use when converting this object to JSON.
-
$_toStringFormat protected static
string|array|int
The format to use when formatting a time using
Cake\I18n\Date::i18nFormat()
and__toString
. This format is also used byparseDateTime()
. -
$defaultLocale protected static
string
The default locale to be used for displaying formatted date strings.
-
$niceFormat public static
string|array|int
The format to use when formatting a time using
Cake\I18n\Date::nice()
-
$wordAccuracy public static
string[]
The format to use when formatting a time using
Date::timeAgoInWords()
and the difference is less thanDate::$wordEnd
-
$wordEnd public static
string
The end of relative time telling
-
$wordFormat public static
string|array|int
The format to use when formatting a time using
Cake\I18n\Date::timeAgoInWords()
and the difference is more thanCake\I18n\Date::$wordEnd
Method Summary
-
__construct() public
Create a new Date instance.
-
__debugInfo() public
Returns the data that should be displayed when debugging this object
-
__toString() public
-
_formatObject() protected
Returns a translated and localized date string. Implements what IntlDateFormatter::formatObject() is in PHP 5.5+
-
addDay() public
Add a day to the instance
-
addDays() public
Add days to the instance. Positive $value travels forward while negative $value travels into the past.
-
addHour() public
Add an hour to the instance
-
addHours() public
Add hours to the instance. Positive $value travels forward while negative $value travels into the past.
-
addMinute() public
Add a minute to the instance
-
addMinutes() public
Add minutes to the instance. Positive $value travels forward while negative $value travels into the past.
-
addMonth() public
Add a month to the instance.
-
addMonthWithOverflow() public
Add a month with overflow to the instance.
-
addMonths() public
Add months to the instance. Positive $value travels forward while negative $value travels into the past.
-
addMonthsWithOverflow() public
Add months with overflowing to the instance. Positive $value travels forward while negative $value travels into the past.
-
addSecond() public
Add a second to the instance
-
addSeconds() public
Add seconds to the instance. Positive $value travels forward while negative $value travels into the past.
-
addWeek() public
Add a week to the instance
-
addWeekday() public
Add a weekday to the instance
-
addWeekdays() public
Add weekdays to the instance. Positive $value travels forward while negative $value travels into the past.
-
addWeeks() public
Add weeks to the instance. Positive $value travels forward while negative $value travels into the past.
-
addYear() public
Add a year to the instance
-
addYearWithOverflow() public
Add a year with overflow to the instance
-
addYears() public
Add years to the instance. Positive $value travel forward while negative $value travel into the past.
-
addYearsWithOverflow() public
Add years with overflowing to the instance. Positive $value travels forward while negative $value travels into the past.
-
average() public
Modify the current instance to the average of a given instance (default now) and the current instance.
-
between() public
Determines if the instance is between two others
-
closest() public
Get the closest date from the instance.
-
copy() public
Get a copy of the instance
-
day() public
Set the instance's day
-
diffFiltered() public
Get the difference by the given interval using a filter callable
-
diffForHumans() public
Get the difference in a human readable format in the current locale.
-
diffInDays() public
Get the difference in days
-
diffInDaysFiltered() public
Get the difference in days using a filter callable
-
diffInHours() public
Get the difference in hours
-
diffInHoursFiltered() public
Get the difference in hours using a filter callable
-
diffInMinutes() public
Get the difference in minutes
-
diffInMonths() public
Get the difference in months
-
diffInSeconds() public
Get the difference in seconds
-
diffInWeekdays() public
Get the difference in weekdays
-
diffInWeekendDays() public
Get the difference in weekend days using a filter
-
diffInWeeks() public
Get the difference in weeks
-
diffInYears() public
Get the difference in years
-
endOfCentury() public
Sets the date to end of the century and time to 23:59:59
-
endOfDay() public
Sets the time to 23:59:59 or 23:59:59.999999 if
$microseconds
is true. -
endOfDecade() public
Sets the date to end of the decade and time to 23:59:59
-
endOfMonth() public
Sets the date to end of the month and time to 23:59:59
-
endOfWeek() public
Sets the date to end of week (defined in $weekEndsAt) and time to 23:59:59
-
endOfYear() public
Sets the date to end of the year and time to 23:59:59
-
eq() public
Determines if the instance is equal to another
-
equals() public
Determines if the instance is equal to another
-
farthest() public
Get the farthest date from the instance.
-
firstOfMonth() public
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() public
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() public
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() public static
Gets the default locale.
-
getDiffFormatter() public static
Get the difference formatter instance.
-
greaterThan() public
Determines if the instance is greater (after) than another
-
greaterThanOrEquals() public
Determines if the instance is greater (after) than or equal to another
-
gt() public
Determines if the instance is greater (after) than another
-
gte() public
Determines if the instance is greater (after) than or equal to another
-
hour() public
Set the instance's hour
-
i18nFormat() public
Returns a formatted string for this time object using the preferred format and language for the specified locale.
-
isBirthday() public
Check if its the birthday. Compares the date/month values of the two dates.
-
isFriday() public
Checks if this day is a Friday.
-
isFuture() public
Determines if the instance is in the future, ie. greater (after) than now
-
isLeapYear() public
Determines if the instance is a leap year
-
isMonday() public
Checks if this day is a Monday.
-
isMutable() public
Check if instance of ChronosInterface is mutable.
-
isPast() public
Determines if the instance is in the past, ie. less (before) than now
-
isSameDay() public
Checks if the passed in date is the same day as the instance current day.
-
isSaturday() public
Checks if this day is a Saturday.
-
isSunday() public
Checks if this day is a Sunday.
-
isThisMonth() public
Returns true if this object represents a date within the current month
-
isThisWeek() public
Returns true if this object represents a date within the current week
-
isThisYear() public
Returns true if this object represents a date within the current year
-
isThursday() public
Checks if this day is a Thursday.
-
isToday() public
Determines if the instance is today
-
isTomorrow() public
Determines if the instance is tomorrow
-
isTuesday() public
Checks if this day is a Tuesday.
-
isWednesday() public
Checks if this day is a Wednesday.
-
isWeekday() public
Determines if the instance is a weekday
-
isWeekend() public
Determines if the instance is a weekend day
-
isWithinNext() public
Returns true this instance will happen within the specified interval
-
isYesterday() public
Determines if the instance is yesterday
-
jsonSerialize() public
Returns a string that should be serialized when converting this object to json
-
lastOfMonth() public
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() public
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() public
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() public
Determines if the instance is less (before) than another
-
lessThanOrEquals() public
Determines if the instance is less (before) or equal to another
-
lt() public
Determines if the instance is less (before) than another
-
lte() public
Determines if the instance is less (before) or equal to another
-
max() public
Get the maximum instance between a given instance (default now) and the current instance.
-
min() public
Get the minimum instance between a given instance (default now) and the current instance.
-
minute() public
Set the instance's minute
-
modify() public @method
-
month() public
Set the instance's month
-
ne() public
Determines if the instance is not equal to another
-
next() public
Modify to the next occurrence of a given day of the week. 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.
-
nice() public
Returns a nicely formatted date string for this object.
-
notEquals() public
Determines if the instance is not equal to another
-
now() public static
Get a ChronosInterface instance for the current date and time
-
nthOfMonth() public
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. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
-
nthOfQuarter() public
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. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
-
nthOfYear() public
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. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
-
parseDate() public static
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() public static
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() public static
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() public
Modify to the previous occurrence of a given day of the week. 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.
-
resetToStringFormat() public static
Resets the format used to the default when converting an instance of this type to a string
-
second() public
Set the instance's second
-
secondsSinceMidnight() public
The number of seconds since midnight.
-
secondsUntilEndOfDay() public
The number of seconds until 23:59:59.
-
setDateTime() public
Set the date and time all together
-
setDefaultLocale() public static
Sets the default locale.
-
setDiffFormatter() public static
Set the difference formatter instance.
-
setJsonEncodeFormat() public static
Sets the default format used when converting this object to json
-
setTimeFromTimeString() public
Set the time by time string
-
setTimezone() public
Set the instance's timezone from a string or object
-
setToStringFormat() public static
Sets the default format used when type converting instances of this type to string
-
startOfCentury() public
Sets the date to the first day of the century and the time to 00:00:00
-
startOfDay() public
Sets the time to 00:00:00
-
startOfDecade() public
Sets the date to the first day of the decade and the time to 00:00:00
-
startOfMonth() public
Sets the date to the first day of the month and the time to 00:00:00
-
startOfWeek() public
Sets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00
-
startOfYear() public
Sets the date to the first day of the year and the time to 00:00:00
-
subDay() public
Remove a day from the instance
-
subDays() public
Remove days from the instance
-
subHour() public
Remove an hour from the instance
-
subHours() public
Remove hours from the instance
-
subMinute() public
Remove a minute from the instance
-
subMinutes() public
Remove minutes from the instance
-
subMonth() public
Remove a month from the instance
-
subMonthWithOverflow() public
Remove a month with overflow from the instance.
-
subMonths() public
Remove months from the instance.
-
subMonthsWithOverflow() public
Remove months with overflow from the instance.
-
subSecond() public
Remove a second from the instance
-
subSeconds() public
Remove seconds from the instance
-
subWeek() public
Remove a week from the instance
-
subWeekday() public
Remove a weekday from the instance
-
subWeekdays() public
Remove weekdays from the instance
-
subWeeks() public
Remove weeks to the instance
-
subYear() public
Remove a year from the instance.
-
subYearWithOverflow() public
Remove a year with overflow from the instance
-
subYears() public
Remove years from the instance.
-
subYearsWithOverflow() public
Remove years with overflow from the instance
-
timeAgoInWords() public
Returns either a relative or a formatted absolute date depending on the difference between the current date and this object.
-
timestamp() public
Set the instance's timestamp
-
timezone() public
Alias for setTimezone()
-
toAtomString() public
Format the instance as ATOM
-
toCookieString() public
Format the instance as COOKIE
-
toDateString() public
Format the instance as date
-
toDateTimeString() public
Format the instance as date and time
-
toDayDateTimeString() public
Format the instance with day, date and time
-
toFormattedDateString() public
Format the instance as a readable date
-
toIso8601String() public
Format the instance as ISO8601
-
toRfc1036String() public
Format the instance as RFC1036
-
toRfc1123String() public
Format the instance as RFC1123
-
toRfc2822String() public
Format the instance as RFC2822
-
toRfc3339String() public
Format the instance as RFC3339
-
toRfc822String() public
Format the instance as RFC822
-
toRfc850String() public
Format the instance as RFC850
-
toRssString() public
Format the instance as RSS
-
toTimeString() public
Format the instance as time
-
toW3cString() public
Format the instance as W3C
-
tz() public
Alias for setTimezone()
-
wasWithinLast() public
Returns true this instance happened within the specified interval
-
year() public
Set the instance's year
Method Detail
__construct() ¶ public
__construct(string|int|DateTimeInterface|null $time = 'now', DateTimeZone|string|null $tz = null)
Create a new Date instance.
You can specify the timezone for the $time parameter. This timezone will not be used in any future modifications to the Date instance.
The $timezone
parameter is ignored if $time
is a DateTimeInterface
instance.
Date instances lack time components, however due to limitations in PHP's internal Datetime object the time will always be set to 00:00:00, and the timezone will always be UTC. Normalizing the timezone allows for subtraction/addition to have deterministic results.
Parameters
-
string|int|DateTimeInterface|null
$time optional Fixed or relative time
-
DateTimeZone|string|null
$tz optional The timezone in which the date is taken. Ignored if
$time
is a DateTimeInterface instance.
__debugInfo() ¶ public
__debugInfo(): array
Returns the data that should be displayed when debugging this object
Returns
array
_formatObject() ¶ protected
_formatObject(DateTime|DateTimeImmutable $date, string|int|array $format, string|null $locale): string
Returns a translated and localized date string. Implements what IntlDateFormatter::formatObject() is in PHP 5.5+
Parameters
-
DateTime|DateTimeImmutable
$date Date.
-
string|int|array
$format Format.
-
string|null
$locale The locale name in which the date should be displayed.
Returns
string
addDay() ¶ public
addDay(int $value = 1): static
Add a day to the instance
Parameters
-
int
$value optional The number of days to add.
Returns
static
addDays() ¶ public
addDays(int $value): static
Add days to the instance. Positive $value travels forward while negative $value travels into the past.
Parameters
-
int
$value The number of days to add.
Returns
static
addHour() ¶ public
addHour(int $value = 1): static
Add an hour to the instance
Parameters
-
int
$value optional The number of hours to add.
Returns
static
addHours() ¶ public
addHours(int $value): static
Add hours to the instance. Positive $value travels forward while negative $value travels into the past.
Parameters
-
int
$value The number of hours to add.
Returns
static
addMinute() ¶ public
addMinute(int $value = 1): static
Add a minute to the instance
Parameters
-
int
$value optional The number of minutes to add.
Returns
static
addMinutes() ¶ public
addMinutes(int $value): static
Add minutes to the instance. Positive $value travels forward while negative $value travels into the past.
Parameters
-
int
$value The number of minutes to add.
Returns
static
addMonth() ¶ public
addMonth(int $value = 1): static
Add a month to the instance.
Has the same behavior as addMonths()
.
Parameters
-
int
$value optional The number of months to add.
Returns
static
addMonthWithOverflow() ¶ public
addMonthWithOverflow(int $value = 1): static
Add a month with overflow to the instance.
Has the same behavior as addMonthsWithOverflow()
.
Parameters
-
int
$value optional The number of months to add.
Returns
static
addMonths() ¶ public
addMonths(int $value): static
Add months to the instance. Positive $value travels forward while negative $value travels into the past.
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
-
int
$value The number of months to add.
Returns
static
addMonthsWithOverflow() ¶ public
addMonthsWithOverflow(int $value): static
Add months with overflowing to the instance. Positive $value travels forward while negative $value travels into the past.
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
-
int
$value The number of months to add.
Returns
static
addSecond() ¶ public
addSecond(int $value = 1): static
Add a second to the instance
Parameters
-
int
$value optional The number of seconds to add.
Returns
static
addSeconds() ¶ public
addSeconds(int $value): static
Add seconds to the instance. Positive $value travels forward while negative $value travels into the past.
Parameters
-
int
$value The number of seconds to add.
Returns
static
addWeek() ¶ public
addWeek(int $value = 1): static
Add a week to the instance
Parameters
-
int
$value optional The number of weeks to add.
Returns
static
addWeekday() ¶ public
addWeekday(int $value = 1): static
Add a weekday to the instance
Parameters
-
int
$value optional The number of weekdays to add.
Returns
static
addWeekdays() ¶ public
addWeekdays(int $value): static
Add weekdays to the instance. Positive $value travels forward while negative $value travels into the past.
Parameters
-
int
$value The number of weekdays to add.
Returns
static
addWeeks() ¶ public
addWeeks(int $value): static
Add weeks to the instance. Positive $value travels forward while negative $value travels into the past.
Parameters
-
int
$value The number of weeks to add.
Returns
static
addYear() ¶ public
addYear(int $value = 1): static
Add a year to the instance
Has the same behavior as addYears()
.
Parameters
-
int
$value optional The number of years to add.
Returns
static
addYearWithOverflow() ¶ public
addYearWithOverflow(int $value = 1): static
Add a year with overflow to the instance
Has the same behavior as addYearsWithOverflow()
.
Parameters
-
int
$value optional The number of years to add.
Returns
static
addYears() ¶ public
addYears(int $value): static
Add years to the instance. Positive $value travel forward while negative $value travel into the past.
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
-
int
$value The number of years to add.
Returns
static
addYearsWithOverflow() ¶ public
addYearsWithOverflow(int $value): static
Add years with overflowing to the instance. Positive $value travels forward while negative $value travels into the past.
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
-
int
$value The number of years to add.
Returns
static
average() ¶ public
average(Cake\Chronos\ChronosInterface $dt = null): static
Modify the current instance to the average of a given instance (default now) and the current instance.
Parameters
-
Cake\Chronos\ChronosInterface
$dt optional The instance to compare with.
Returns
static
between() ¶ public
between(Cake\Chronos\ChronosInterface $dt1, Cake\Chronos\ChronosInterface $dt2, bool $equal = true): bool
Determines if the instance is between two others
Parameters
-
Cake\Chronos\ChronosInterface
$dt1 The instance to compare with.
-
Cake\Chronos\ChronosInterface
$dt2 The instance to compare with.
-
bool
$equal optional Indicates if a > and < comparison should be used or <= or >=
Returns
bool
closest() ¶ public
closest(Cake\Chronos\ChronosInterface $dt1, Cake\Chronos\ChronosInterface $dt2): static
Get the closest date from the instance.
Parameters
-
Cake\Chronos\ChronosInterface
$dt1 The instance to compare with.
-
Cake\Chronos\ChronosInterface
$dt2 The instance to compare with.
Returns
static
day() ¶ public
day(int $value): static
Set the instance's day
Parameters
-
int
$value The day value.
Returns
static
diffFiltered() ¶ public
diffFiltered(Cake\Chronos\ChronosInterval $ci, callable $callback, Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference by the given interval using a filter callable
Parameters
-
Cake\Chronos\ChronosInterval
$ci An interval to traverse by
-
callable
$callback The callback to use for filtering.
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffForHumans() ¶ public
diffForHumans(Cake\Chronos\ChronosInterface|null $other = null, bool $absolute = false): string
Get the difference in a human readable format in the current locale.
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
-
Cake\Chronos\ChronosInterface|null
$other optional The datetime to compare with.
-
bool
$absolute optional Removes time difference modifiers ago, after, etc
Returns
string
diffInDays() ¶ public
diffInDays(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in days
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInDaysFiltered() ¶ public
diffInDaysFiltered(callable $callback, Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in days using a filter callable
Parameters
-
callable
$callback The callback to use for filtering.
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInHours() ¶ public
diffInHours(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in hours
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInHoursFiltered() ¶ public
diffInHoursFiltered(callable $callback, Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in hours using a filter callable
Parameters
-
callable
$callback The callback to use for filtering.
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInMinutes() ¶ public
diffInMinutes(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in minutes
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInMonths() ¶ public
diffInMonths(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in months
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInSeconds() ¶ public
diffInSeconds(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in seconds
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInWeekdays() ¶ public
diffInWeekdays(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in weekdays
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInWeekendDays() ¶ public
diffInWeekendDays(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in weekend days using a filter
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInWeeks() ¶ public
diffInWeeks(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in weeks
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
diffInYears() ¶ public
diffInYears(Cake\Chronos\ChronosInterface|null $dt = null, bool $abs = true): int
Get the difference in years
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to difference from.
-
bool
$abs optional Get the absolute of the difference
Returns
int
endOfCentury() ¶ public
endOfCentury(): static
Sets the date to end of the century and time to 23:59:59
Returns
static
endOfDay() ¶ public
endOfDay(bool $microseconds = false): static
Sets the time to 23:59:59 or 23:59:59.999999
if $microseconds
is true.
Parameters
-
bool
$microseconds optional Whether to set microseconds
Returns
static
endOfDecade() ¶ public
endOfDecade(): static
Sets the date to end of the decade and time to 23:59:59
Returns
static
endOfMonth() ¶ public
endOfMonth(): static
Sets the date to end of the month and time to 23:59:59
Returns
static
endOfWeek() ¶ public
endOfWeek(): static
Sets the date to end of week (defined in $weekEndsAt) and time to 23:59:59
Returns
static
endOfYear() ¶ public
endOfYear(): static
Sets the date to end of the year and time to 23:59:59
Returns
static
eq() ¶ public
eq(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is equal to another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
See Also
equals() ¶ public
equals(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is equal to another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
farthest() ¶ public
farthest(Cake\Chronos\ChronosInterface $dt1, Cake\Chronos\ChronosInterface $dt2): static
Get the farthest date from the instance.
Parameters
-
Cake\Chronos\ChronosInterface
$dt1 The instance to compare with.
-
Cake\Chronos\ChronosInterface
$dt2 The instance to compare with.
Returns
static
firstOfMonth() ¶ public
firstOfMonth(int|null $dayOfWeek = null): 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.
Parameters
-
int|null
$dayOfWeek optional The day of the week to move to.
Returns
static
firstOfQuarter() ¶ public
firstOfQuarter(int|null $dayOfWeek = null): 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.
Parameters
-
int|null
$dayOfWeek optional The day of the week to move to.
Returns
static
firstOfYear() ¶ public
firstOfYear(int|null $dayOfWeek = null): 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.
Parameters
-
int|null
$dayOfWeek optional The day of the week to move to.
Returns
static
getDefaultLocale() ¶ public static
getDefaultLocale(): string|null
Gets the default locale.
Returns
string|null
getDiffFormatter() ¶ public static
getDiffFormatter(): Cake\Chronos\DifferenceFormatterInterface
Get the difference formatter instance.
Returns
Cake\Chronos\DifferenceFormatterInterface
greaterThan() ¶ public
greaterThan(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is greater (after) than another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
greaterThanOrEquals() ¶ public
greaterThanOrEquals(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is greater (after) than or equal to another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
gt() ¶ public
gt(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is greater (after) than another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
See Also
gte() ¶ public
gte(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is greater (after) than or equal to another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
See Also
hour() ¶ public
hour(int $value): static
Set the instance's hour
Parameters
-
int
$value The hour value.
Returns
static
i18nFormat() ¶ public
i18nFormat(string|int|null $format = null, string|DateTimeZone|null $timezone = null, string|null $locale = null): string|int
Returns a formatted string for this time object using the preferred format and language for the specified locale.
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: http://www.icu-project.org/apiref/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'
You can control the default format used through Time::setToStringFormat()
.
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 used through Time::setDefaultLocale()
.
If empty, the default will be taken from the intl.default_locale
ini config.
Parameters
-
string|int|null
$format optional Format string.
-
string|DateTimeZone|null
$timezone optional Timezone string or DateTimeZone object in which the date will be displayed. The timezone stored for this object will not be changed.
-
string|null
$locale optional The locale name in which the date should be displayed (e.g. pt-BR)
Returns
string|int
isBirthday() ¶ public
isBirthday(Cake\Chronos\ChronosInterface $dt): bool
Check if its the birthday. Compares the date/month values of the two dates.
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
isFuture() ¶ public
isFuture(): bool
Determines if the instance is in the future, ie. greater (after) than now
Returns
bool
isMutable() ¶ public
isMutable(): bool
Check if instance of ChronosInterface is mutable.
Returns
bool
isPast() ¶ public
isPast(): bool
Determines if the instance is in the past, ie. less (before) than now
Returns
bool
isSameDay() ¶ public
isSameDay(Cake\Chronos\ChronosInterface $dt): bool
Checks if the passed in date is the same day as the instance current day.
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to check against.
Returns
bool
isThisMonth() ¶ public
isThisMonth(): bool
Returns true if this object represents a date within the current month
Returns
bool
isThisWeek() ¶ public
isThisWeek(): bool
Returns true if this object represents a date within the current week
Returns
bool
isThisYear() ¶ public
isThisYear(): bool
Returns true if this object represents a date within the current year
Returns
bool
isWithinNext() ¶ public
isWithinNext(string|int $timeInterval): bool
Returns true this instance will happen within the specified interval
Parameters
-
string|int
$timeInterval the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.
Returns
bool
jsonSerialize() ¶ public
jsonSerialize(): string|int
Returns a string that should be serialized when converting this object to json
Returns
string|int
lastOfMonth() ¶ public
lastOfMonth(int|null $dayOfWeek = null): 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.
Parameters
-
int|null
$dayOfWeek optional The day of the week to move to.
Returns
static
lastOfQuarter() ¶ public
lastOfQuarter(int|null $dayOfWeek = null): 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.
Parameters
-
int|null
$dayOfWeek optional The day of the week to move to.
Returns
static
lastOfYear() ¶ public
lastOfYear(int|null $dayOfWeek = null): 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.
Parameters
-
int|null
$dayOfWeek optional The day of the week to move to.
Returns
static
lessThan() ¶ public
lessThan(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is less (before) than another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
lessThanOrEquals() ¶ public
lessThanOrEquals(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is less (before) or equal to another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
lt() ¶ public
lt(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is less (before) than another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
See Also
lte() ¶ public
lte(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is less (before) or equal to another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
See Also
max() ¶ public
max(Cake\Chronos\ChronosInterface|null $dt = null): static
Get the maximum instance between a given instance (default now) and the current instance.
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to compare with.
Returns
static
min() ¶ public
min(Cake\Chronos\ChronosInterface|null $dt = null): static
Get the minimum instance between a given instance (default now) and the current instance.
Parameters
-
Cake\Chronos\ChronosInterface|null
$dt optional The instance to compare with.
Returns
static
minute() ¶ public
minute(int $value): static
Set the instance's minute
Parameters
-
int
$value The minute value.
Returns
static
modify() ¶ public @method
modify(string $relative): Cake\Chronos\ChronosInterface
Parameters
-
string
$relative
Returns
Cake\Chronos\ChronosInterface
month() ¶ public
month(int $value): static
Set the instance's month
Parameters
-
int
$value The month value.
Returns
static
ne() ¶ public
ne(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is not equal to another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
See Also
next() ¶ public
next(int|null $dayOfWeek = null): static
Modify to the next occurrence of a given day of the week. 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
-
int|null
$dayOfWeek optional The day of the week to move to.
Returns
static
nice() ¶ public
nice(string|DateTimeZone|null $timezone = null, string|null $locale = null): string
Returns a nicely formatted date string for this object.
The format to be used is stored in the static property Time::niceFormat
.
Parameters
-
string|DateTimeZone|null
$timezone optional Timezone string or DateTimeZone object in which the date will be displayed. The timezone stored for this object will not be changed.
-
string|null
$locale optional The locale name in which the date should be displayed (e.g. pt-BR)
Returns
string
notEquals() ¶ public
notEquals(Cake\Chronos\ChronosInterface $dt): bool
Determines if the instance is not equal to another
Parameters
-
Cake\Chronos\ChronosInterface
$dt The instance to compare with.
Returns
bool
now() ¶ public static
now(DateTimeZone|string|null $tz = null): static
Get a ChronosInterface instance for the current date and time
Parameters
-
DateTimeZone|string|null
$tz optional The DateTimeZone object or timezone name.
Returns
static
nthOfMonth() ¶ public
nthOfMonth(int $nth, int $dayOfWeek): 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. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
Parameters
-
int
$nth The offset to use.
-
int
$dayOfWeek The day of the week to move to.
Returns
static|false
nthOfQuarter() ¶ public
nthOfQuarter(int $nth, int $dayOfWeek): 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. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
Parameters
-
int
$nth The offset to use.
-
int
$dayOfWeek The day of the week to move to.
Returns
static|false
nthOfYear() ¶ public
nthOfYear(int $nth, int $dayOfWeek): 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. Use the supplied consts to indicate the desired dayOfWeek, ex. static::MONDAY.
Parameters
-
int
$nth The offset to use.
-
int
$dayOfWeek The day of the week to move to.
Returns
static|false
parseDate() ¶ public static
parseDate(string $date, string|int|array|null $format = null): 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.
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
-
string
$date The date string to parse.
-
string|int|array|null
$format optional Any format accepted by IntlDateFormatter.
Returns
static|null
parseDateTime() ¶ public static
parseDateTime(string $time, string|int[]|null $format = null, DateTimeZone|string|null $tz = null): 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.
When no $format is provided, the toString
format will be used.
Unlike DateTime, the time zone of the returned instance is always converted
to $tz
(default time zone if null) even if the $time
string specified a
time zone. This is a limitation of IntlDateFormatter.
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
-
string
$time The time string to parse.
-
string|int[]|null
$format optional Any format accepted by IntlDateFormatter.
-
DateTimeZone|string|null
$tz optional The timezone for the instance
Returns
static|null
Throws
InvalidArgumentException
If $format is a single int instead of array of constants
parseTime() ¶ public static
parseTime(string $time, string|int|null $format = null): 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.
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
-
string
$time The time string to parse.
-
string|int|null
$format optional Any format accepted by IntlDateFormatter.
Returns
static|null
previous() ¶ public
previous(int|null $dayOfWeek = null): static
Modify to the previous occurrence of a given day of the week. 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
-
int|null
$dayOfWeek optional The day of the week to move to.
Returns
static
resetToStringFormat() ¶ public static
resetToStringFormat(): void
Resets the format used to the default when converting an instance of this type to a string
Returns
void
second() ¶ public
second(int $value): static
Set the instance's second
Parameters
-
int
$value The seconds value.
Returns
static
secondsSinceMidnight() ¶ public
secondsSinceMidnight(): int
The number of seconds since midnight.
Returns
int
secondsUntilEndOfDay() ¶ public
secondsUntilEndOfDay(): int
The number of seconds until 23:59:59.
Returns
int
setDateTime() ¶ public
setDateTime(int $year, int $month, int $day, int $hour, int $minute, int $second = 0): static
Set the date and time all together
Parameters
-
int
$year The year to set.
-
int
$month The month to set.
-
int
$day The day to set.
-
int
$hour The hour to set.
-
int
$minute The minute to set.
-
int
$second optional The second to set.
Returns
static
setDefaultLocale() ¶ public static
setDefaultLocale(string|null $locale = null): void
Sets the default locale.
Parameters
-
string|null
$locale optional The default locale string to be used or null.
Returns
void
setDiffFormatter() ¶ public static
setDiffFormatter(Cake\Chronos\DifferenceFormatterInterface $formatter): void
Set the difference formatter instance.
Parameters
-
Cake\Chronos\DifferenceFormatterInterface
$formatter The formatter instance when setting.
Returns
void
setJsonEncodeFormat() ¶ public static
setJsonEncodeFormat(string|array|int $format): void
Sets the default format used when converting this object to json
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 (http://www.icu-project.org/apiref/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.
Parameters
-
string|array|int
$format Format.
Returns
void
See Also
setTimeFromTimeString() ¶ public
setTimeFromTimeString(string $time): static
Set the time by time string
Parameters
-
string
$time Time as string.
Returns
static
setTimezone() ¶ public
setTimezone(DateTimeZone|string $value): static
Set the instance's timezone from a string or object
Parameters
-
DateTimeZone|string
$value The DateTimeZone object or timezone name to use.
Returns
static
setToStringFormat() ¶ public static
setToStringFormat(string|array|int $format): void
Sets the default format used when type converting instances of this type to string
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 (http://www.icu-project.org/apiref/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.
Parameters
-
string|array|int
$format Format.
Returns
void
startOfCentury() ¶ public
startOfCentury(): static
Sets the date to the first day of the century and the time to 00:00:00
Returns
static
startOfDecade() ¶ public
startOfDecade(): static
Sets the date to the first day of the decade and the time to 00:00:00
Returns
static
startOfMonth() ¶ public
startOfMonth(): static
Sets the date to the first day of the month and the time to 00:00:00
Returns
static
startOfWeek() ¶ public
startOfWeek(): static
Sets the date to the first day of week (defined in $weekStartsAt) and the time to 00:00:00
Returns
static
startOfYear() ¶ public
startOfYear(): static
Sets the date to the first day of the year and the time to 00:00:00
Returns
static
subDay() ¶ public
subDay(int $value = 1): static
Remove a day from the instance
Parameters
-
int
$value optional The number of days to remove.
Returns
static
subDays() ¶ public
subDays(int $value): static
Remove days from the instance
Parameters
-
int
$value The number of days to remove.
Returns
static
subHour() ¶ public
subHour(int $value = 1): static
Remove an hour from the instance
Parameters
-
int
$value optional The number of hours to remove.
Returns
static
subHours() ¶ public
subHours(int $value): static
Remove hours from the instance
Parameters
-
int
$value The number of hours to remove.
Returns
static
subMinute() ¶ public
subMinute(int $value = 1): static
Remove a minute from the instance
Parameters
-
int
$value optional The number of minutes to remove.
Returns
static
subMinutes() ¶ public
subMinutes(int $value): static
Remove minutes from the instance
Parameters
-
int
$value The number of minutes to remove.
Returns
static
subMonth() ¶ public
subMonth(int $value = 1): static
Remove a month from the instance
Has the same behavior as addMonths()
.
Parameters
-
int
$value optional The number of months to remove.
Returns
static
subMonthWithOverflow() ¶ public
subMonthWithOverflow(int $value = 1): static
Remove a month with overflow from the instance.
Has the same behavior as addMonthsWithOverflow()
.
Parameters
-
int
$value optional The number of months to remove.
Returns
static
subMonths() ¶ public
subMonths(int $value): static
Remove months from the instance.
Has the same behavior as addMonths()
.
Parameters
-
int
$value The number of months to remove.
Returns
static
subMonthsWithOverflow() ¶ public
subMonthsWithOverflow(int $value): static
Remove months with overflow from the instance.
Has the same behavior as addMonthsWithOverflow()
.
Parameters
-
int
$value The number of months to remove.
Returns
static
subSecond() ¶ public
subSecond(int $value = 1): static
Remove a second from the instance
Parameters
-
int
$value optional The number of seconds to remove.
Returns
static
subSeconds() ¶ public
subSeconds(int $value): static
Remove seconds from the instance
Parameters
-
int
$value The number of seconds to remove.
Returns
static
subWeek() ¶ public
subWeek(int $value = 1): static
Remove a week from the instance
Parameters
-
int
$value optional The number of weeks to remove.
Returns
static
subWeekday() ¶ public
subWeekday(int $value = 1): static
Remove a weekday from the instance
Parameters
-
int
$value optional The number of weekdays to remove.
Returns
static
subWeekdays() ¶ public
subWeekdays(int $value): static
Remove weekdays from the instance
Parameters
-
int
$value The number of weekdays to remove.
Returns
static
subWeeks() ¶ public
subWeeks(int $value): static
Remove weeks to the instance
Parameters
-
int
$value The number of weeks to remove.
Returns
static
subYear() ¶ public
subYear(int $value = 1): static
Remove a year from the instance.
Has the same behavior as addYears()
.
Parameters
-
int
$value optional The number of years to remove.
Returns
static
subYearWithOverflow() ¶ public
subYearWithOverflow(int $value = 1): static
Remove a year with overflow from the instance
Has the same behavior as addYearsWithOverflow()
.
Parameters
-
int
$value optional The number of years to remove.
Returns
static
subYears() ¶ public
subYears(int $value): static
Remove years from the instance.
Has the same behavior as addYears()
.
Parameters
-
int
$value The number of years to remove.
Returns
static
subYearsWithOverflow() ¶ public
subYearsWithOverflow(int $value): static
Remove years with overflow from the instance
Has the same behavior as addYearsWithOverflow()
.
Parameters
-
int
$value The number of years to remove.
Returns
static
timeAgoInWords() ¶ public
timeAgoInWords(array $options = []): string
Returns either a relative or a formatted absolute date depending on the difference between the current date and this object.
Options:
from
=> another Date object representing the "now" dateformat
=> a fall back format if the relative time is longer than the duration specified by endaccuracy
=> Specifies how accurate the date should be described (array)- year => The format if years > 0 (default "day")
- month => The format if months > 0 (default "day")
- week => The format if weeks > 0 (default "day")
- day => The format if weeks > 0 (default "day")
end
=> The end of relative date tellingrelativeString
=> The printf compatible string when outputting relative dateabsoluteString
=> The printf compatible string when outputting absolute datetimezone
=> The user timezone the timestamp should be formatted in.
Relative dates look something like this:
- 3 weeks, 4 days ago
- 1 day ago
Default date formatting is d/M/YY e.g: on 18/2/09. Formatting is done internally using
i18nFormat
, see the method for the valid formatting strings.
The returned string includes 'ago' or 'on' and assumes you'll properly add a word like 'Posted ' before the function output.
NOTE: If the difference is one week or more, the lowest level of accuracy is day.
Parameters
-
array
$options optional Array of options.
Returns
string
timestamp() ¶ public
timestamp(int $value): static
Set the instance's timestamp
Parameters
-
int
$value The timestamp value to set.
Returns
static
timezone() ¶ public
timezone(DateTimeZone|string $value): static
Alias for setTimezone()
Parameters
-
DateTimeZone|string
$value The DateTimeZone object or timezone name to use.
Returns
static
toDateTimeString() ¶ public
toDateTimeString(): string
Format the instance as date and time
Returns
string
toDayDateTimeString() ¶ public
toDayDateTimeString(): string
Format the instance with day, date and time
Returns
string
toFormattedDateString() ¶ public
toFormattedDateString(): string
Format the instance as a readable date
Returns
string
tz() ¶ public
tz(DateTimeZone|string $value): static
Alias for setTimezone()
Parameters
-
DateTimeZone|string
$value The DateTimeZone object or timezone name to use.
Returns
static
wasWithinLast() ¶ public
wasWithinLast(string|int $timeInterval): bool
Returns true this instance happened within the specified interval
Parameters
-
string|int
$timeInterval the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.
Returns
bool
year() ¶ public
year(int $value): static
Set the instance's year
Parameters
-
int
$value The year value.
Returns
static
Property Detail
$_jsonEncodeFormat ¶ protected static
The format to use when converting this object to JSON.
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 (http://www.icu-project.org/apiref/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.
Type
string|array|int
$_toStringFormat ¶ protected static
The format to use when formatting a time using Cake\I18n\Date::i18nFormat()
and __toString
. This format is also used by parseDateTime()
.
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 (http://www.icu-project.org/apiref/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.
Type
string|array|int
$defaultLocale ¶ protected static
The default locale to be used for displaying formatted date strings.
Use static::setDefaultLocale() and static::getDefaultLocale() instead.
Type
string
$niceFormat ¶ public static
The format to use when formatting a time using Cake\I18n\Date::nice()
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 (http://www.icu-project.org/apiref/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.
Type
string|array|int
$wordAccuracy ¶ public static
The format to use when formatting a time using Date::timeAgoInWords()
and the difference is less than Date::$wordEnd
Type
string[]
$wordFormat ¶ public static
The format to use when formatting a time using Cake\I18n\Date::timeAgoInWords()
and the difference is more than Cake\I18n\Date::$wordEnd
Type
string|array|int