Class CakeTime
Time Helper class for easy use of time data.
Manipulation of time data.
Link: https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Utility/CakeTime.php
Properties summary
- Temporary variable containing the timestamp value, used internally in convertSpecifiers()
integer
- The format to use when formatting a time using
string
CakeTime::nice()
-
string
The format to use when formatting a time using
CakeTime::niceShort()
and the difference is between 3 and 7 days -
array
The format to use when formatting a time using
CakeTime::timeAgoInWords()
and the difference is less thanCakeTime::$wordEnd
- The end of relative time telling
string
-
string
The format to use when formatting a time using
CakeTime::timeAgoInWords()
and the difference is more thanCakeTime::$wordEnd
Method Summary
- __get() public
Magic set method for backwards compatibility. Used by TimeHelper to get static variables in CakeTime
- __set() public
Magic set method for backwards compatibility. Used by TimeHelper to modify static variables in CakeTime
- Multibyte wrapper for strftime.
-
Auxiliary function to translate a matched specifier element from a regular expression into a Windows safe and i18n aware specifier
- Converts given time (in server's time zone) to user's local time, given his/her timezone.
-
Converts a string representing the format for the function strftime and returns a Windows safe and i18n aware format.
-
Returns a partial SQL string to search for all records between two times occurring on the same day.
- Returns a partial SQL string to search for all records between two dates.
-
Returns a formatted date string, given either a UNIX timestamp or a valid strtotime() date string. This function also accepts a time string and a format string as first and second parameters. In that case this function behaves as a wrapper for TimeHelper::i18nFormat()
- Returns a UNIX timestamp, given either a UNIX timestamp or a valid strtotime() date string.
- Returns gmt as a UNIX timestamp.
-
Returns a formatted date string, given either a UNIX timestamp or a valid strtotime() date string. It takes into account the default date format for the current language if a LC_TIME file is used.
- Returns true if given datetime string is in the future.
- Returns true if given datetime string is in the past.
- Returns true if given datetime string is within this month
- Returns true if given datetime string is within this week.
- Returns true if given datetime string is within current year.
- Returns true if given datetime string is today.
- Returns true if given datetime string is tomorrow.
- Returns true if specified datetime is within the interval specified, else false.
- Get list of timezone identifiers
- Returns a nicely formatted date string for given Datetime string.
- Returns a formatted descriptive date string for given datetime string.
- Returns server's offset from GMT in seconds.
-
Returns either a relative or a formatted absolute date depending on the difference between the current time and given datetime. $datetime should be in a strtotime - parsable format, like MySQL's datetime datatype.
- Returns a timezone object from a string or the user's timezone object
- Returns a date formatted for Atom RSS feeds.
- Returns the quarter
- Formats date for RSS feeds
- Returns a formatted date in server's timezone.
- Returns a UNIX timestamp from a textual datetime description. Wrapper for PHP function strtotime().
- Returns true if specified datetime was within the interval specified, else false.
- Returns true if given datetime string was yesterday.
Method Detail
__get()source public
__get( string $name )
Magic set method for backwards compatibility. Used by TimeHelper to get static variables in CakeTime
Parameters
- string
$name
- Variable name
Returns
mixed__set()source public
__set( string $name , mixes $value )
Magic set method for backwards compatibility. Used by TimeHelper to modify static variables in CakeTime
Parameters
- string
$name
- Variable name
- mixes
$value
- Variable value
_strftime()source protected static
_strftime( string $format , integer $date )
Multibyte wrapper for strftime.
Handles utf8_encoding the result of strftime when necessary.
Parameters
- string
$format
- Format string.
- integer
$date
- Timestamp to format.
Returns
stringformatted string with correct encoding.
_translateSpecifier()source protected static
_translateSpecifier( array $specifier )
Auxiliary function to translate a matched specifier element from a regular expression into a Windows safe and i18n aware specifier
Parameters
- array
$specifier
- match from regular expression
Returns
stringconverted element
convert()source public static
convert( string $serverTime , string|DateTimeZone $timezone )
Converts given time (in server's time zone) to user's local time, given his/her timezone.
Parameters
- string
$serverTime
- UNIX timestamp
- string|DateTimeZone
$timezone
- User's timezone string or DateTimeZone object
Returns
integerUNIX timestamp
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::convertconvertSpecifiers()source public static
convertSpecifiers( string $format , string $time null )
Converts a string representing the format for the function strftime and returns a Windows safe and i18n aware format.
Parameters
- string
$format
Format with specifiers for strftime function. Accepts the special specifier %S which mimics the modifier S for date()
- string
$time
optional null - UNIX timestamp
Returns
stringWindows safe and date() function compatible format for strftime
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::convertSpecifiersdayAsSql()source public static
dayAsSql( integer|string|DateTime $dateString , string $fieldName , string|DateTimeZone $timezone null )
Returns a partial SQL string to search for all records between two times occurring on the same day.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string
$fieldName
- Name of database field to compare with
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
stringPartial SQL string.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::dayAsSqldaysAsSql()source public static
daysAsSql( integer|string|DateTime $begin , integer|string|DateTime $end , string $fieldName , string|DateTimeZone $timezone null )
Returns a partial SQL string to search for all records between two dates.
Parameters
- integer|string|DateTime
$begin
- UNIX timestamp, strtotime() valid string or DateTime object
- integer|string|DateTime
$end
- UNIX timestamp, strtotime() valid string or DateTime object
- string
$fieldName
- Name of database field to compare with
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
stringPartial SQL string.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::daysAsSqlformat()source public static
format( integer|string|DateTime $date , integer|string|DateTime $format null , boolean|string $default false , string|DateTimeZone $timezone null )
Returns a formatted date string, given either a UNIX timestamp or a valid strtotime() date string. This function also accepts a time string and a format string as first and second parameters. In that case this function behaves as a wrapper for TimeHelper::i18nFormat()
Examples
Create localized & formatted time:
CakeTime::format('2012-02-15', '%m-%d-%Y'); // returns 02-15-2012 CakeTime::format('2012-02-15 23:01:01', '%c'); // returns preferred date and time based on configured locale CakeTime::format('0000-00-00', '%d-%m-%Y', 'N/A'); // return N/A becuase an invalid date was passed CakeTime::format('2012-02-15 23:01:01', '%c', 'N/A', 'America/New_York'); // converts passed date to timezone
Parameters
- integer|string|DateTime
$date
- UNIX timestamp, strtotime() valid string or DateTime object (or a date format string)
- integer|string|DateTime
$format
optional null - date format string (or UNIX timestamp, strtotime() valid string or DateTime object)
- boolean|string
$default
optional false - if an invalid date is passed it will output supplied default value. Pass false if you want raw conversion value
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
stringFormatted date string
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::formatSee
CakeTime::i18nFormat()fromString()source public static
fromString( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns a UNIX timestamp, given either a UNIX timestamp or a valid strtotime() date string.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
stringParsed timestamp
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::fromStringgmt()source public static
gmt( integer|string|DateTime $dateString null )
Returns gmt as a UNIX timestamp.
Parameters
- integer|string|DateTime
$dateString
optional null - UNIX timestamp, strtotime() valid string or DateTime object
Returns
integerUNIX timestamp
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::gmti18nFormat()source public static
i18nFormat( integer|string|DateTime $date , string $format null , boolean|string $default false , string|DateTimeZone $timezone null )
Returns a formatted date string, given either a UNIX timestamp or a valid strtotime() date string. It takes into account the default date format for the current language if a LC_TIME file is used.
Parameters
- integer|string|DateTime
$date
- UNIX timestamp, strtotime() valid string or DateTime object
- string
$format
optional null - strftime format string.
- boolean|string
$default
optional false - if an invalid date is passed it will output supplied default value. Pass false if you want raw conversion value
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
stringFormatted and translated date string
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::i18nFormatisFuture()source public static
isFuture( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if given datetime string is in the future.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanTrue if datetime string is in the future
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isFutureisPast()source public static
isPast( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if given datetime string is in the past.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanTrue if datetime string is in the past
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isPastisThisMonth()source public static
isThisMonth( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if given datetime string is within this month
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanTrue if datetime string is within current month
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isThisMonthisThisWeek()source public static
isThisWeek( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if given datetime string is within this week.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanTrue if datetime string is within current week
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isThisWeekisThisYear()source public static
isThisYear( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if given datetime string is within current year.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanTrue if datetime string is within current year
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isThisYearisToday()source public static
isToday( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if given datetime string is today.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanTrue if datetime string is today
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isTodayisTomorrow()source public static
isTomorrow( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if given datetime string is tomorrow.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanTrue if datetime string was yesterday
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isTomorrowisWithinNext()source public static
isWithinNext( string|integer $timeInterval , integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if specified datetime is within the interval specified, else false.
Parameters
- string|integer
$timeInterval
the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanlistTimezones()source public static
listTimezones( integer|string $filter null , string $country null , boolean|array $options array() )
Get list of timezone identifiers
Parameters
- integer|string
$filter
optional null A regex to filter identifier Or one of DateTimeZone class constants (PHP 5.3 and above)
- string
$country
optional null A two-letter ISO 3166-1 compatible country code. This option is only used when $filter is set to DateTimeZone::PER_COUNTRY (available only in PHP 5.3 and above)
- boolean|array
$options
optional array() If true (default value) groups the identifiers list by primary region. Otherwise, an array containing
group
,abbr
,before
, andafter
keys. Settinggroup
andabbr
to true will group results and append timezone abbreviation in the display value. Setbefore
andafter
to customize the abbreviation wrapper.
Returns
arrayList of timezone identifiers
Since
2.2Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::listTimezonesnice()source public static
nice( integer|string|DateTime $dateString null , string|DateTimeZone $timezone null , string $format null )
Returns a nicely formatted date string for given Datetime string.
See http://php.net/manual/en/function.strftime.php for information on formatting using locale strings.
Parameters
- integer|string|DateTime
$dateString
optional null - UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
- string
$format
optional null - The format to use. If null,
CakeTime::$niceFormat
is used
Returns
stringFormatted date string
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::niceniceShort()source public static
niceShort( integer|string|DateTime $dateString null , string|DateTimeZone $timezone null )
Returns a formatted descriptive date string for given datetime string.
If the given date is today, the returned string could be "Today, 16:54". If the given date is tomorrow, the returned string could be "Tomorrow, 16:54". If the given date was yesterday, the returned string could be "Yesterday, 16:54". If the given date is within next or last week, the returned string could be "On Thursday, 16:54". If $dateString's year is the current year, the returned string does not include mention of the year.
Parameters
- integer|string|DateTime
$dateString
optional null - UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
stringDescribed, relative date string
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::niceShortserverOffset()source public static
serverOffset( )
Returns server's offset from GMT in seconds.
Returns
integerOffset
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::serverOffsettimeAgoInWords()source public static
timeAgoInWords( integer|string|DateTime $dateTime , array $options array() )
Returns either a relative or a formatted absolute date depending on the difference between the current time and given datetime. $datetime should be in a strtotime - parsable format, like MySQL's datetime datatype.
Options:
-
format
=> a fall back format if the relative time is longer than the duration specified by end -
accuracy
=> 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 "hour")
- hour => The format if hours > 0 (default "minute")
- minute => The format if minutes > 0 (default "minute")
- second => The format if seconds > 0 (default "second")
-
end
=> The end of relative time telling -
relativeString
=> The printf compatible string when outputting past relative time -
relativeStringFuture
=> The printf compatible string when outputting future relative time -
absoluteString
=> The printf compatible string when outputting absolute time -
userOffset
=> Users offset from GMT (in hours) Deprecated use timezone instead. -
timezone
=> The user timezone the timestamp should be formatted in.
Relative dates look something like this:
- 3 weeks, 4 days ago
- 15 seconds ago
Default date formatting is d/m/yy e.g: on 18/2/09
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
- integer|string|DateTime
$dateTime
- Datetime UNIX timestamp, strtotime() valid string or DateTime object
- array
$options
optional array() - Default format if timestamp is used in $dateString
Returns
stringRelative time string.
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::timeAgoInWordstimezone()source public static
timezone( string|DateTimeZone $timezone null )
Returns a timezone object from a string or the user's timezone object
Parameters
- string|DateTimeZone
$timezone
optional null Timezone string or DateTimeZone object If null it tries to get timezone from 'Config.timezone' config var
Returns
DateTimeZoneTimezone object
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::timezonetoAtom()source public static
toAtom( string $dateString , string|DateTimeZone $timezone null )
Returns a date formatted for Atom RSS feeds.
Parameters
- string
$dateString
- Datetime string or Unix timestamp
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
stringFormatted date string
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toAtomtoQuarter()source public static
toQuarter( integer|string|DateTime $dateString , boolean $range false )
Returns the quarter
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- boolean
$range
optional false - if true returns a range in Y-m-d format
Returns
integer|array1, 2, 3, or 4 quarter of year or array if $range true
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toQuartertoRSS()source public static
toRSS( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Formats date for RSS feeds
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
stringFormatted date string
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toRSStoServer()source public static
toServer( integer|string|DateTime $dateString , string|DateTimeZone $timezone null , string $format 'Y-m-d H:i:s' )
Returns a formatted date in server's timezone.
If a DateTime object is given or the dateString has a timezone segment, the timezone parameter will be ignored.
If no timezone parameter is given and no DateTime object, the passed $dateString will be considered to be in the UTC timezone.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
- string
$format
optional 'Y-m-d H:i:s' - date format string
Returns
mixedFormatted date
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toServertoUnix()source public static
toUnix( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns a UNIX timestamp from a textual datetime description. Wrapper for PHP function strtotime().
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
integerUnix timestamp
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toUnixwasWithinLast()source public static
wasWithinLast( string|integer $timeInterval , integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if specified datetime was within the interval specified, else false.
Parameters
- string|integer
$timeInterval
the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanLink
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::wasWithinLastwasYesterday()source public static
wasYesterday( integer|string|DateTime $dateString , string|DateTimeZone $timezone null )
Returns true if given datetime string was yesterday.
Parameters
- integer|string|DateTime
$dateString
- UNIX timestamp, strtotime() valid string or DateTime object
- string|DateTimeZone
$timezone
optional null - Timezone string or DateTimeZone object
Returns
booleanTrue if datetime string was yesterday
Link
https://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::wasYesterdayProperties detail
$_timesource
protected static integer
Temporary variable containing the timestamp value, used internally in convertSpecifiers()
null
$niceFormatsource
public static string
The format to use when formatting a time using CakeTime::nice()
The format should use the locale strings as defined in the PHP docs under strftime
(http://php.net/manual/en/function.strftime.php)
See
CakeTime::format()'%a, %b %eS %Y, %H:%M'
$niceShortFormatsource
public static string
The format to use when formatting a time using CakeTime::niceShort()
and the difference is between 3 and 7 days
See
CakeTime::niceShort()'%B %d, %H:%M'
$wordAccuracysource
public static array
The format to use when formatting a time using CakeTime::timeAgoInWords()
and the difference is less than CakeTime::$wordEnd
See
CakeTime::timeAgoInWords()array( 'year' => 'day', 'month' => 'day', 'week' => 'day', 'day' => 'hour', 'hour' => 'minute', 'minute' => 'minute', 'second' => 'second', )
$wordEndsource
public static string
The end of relative time telling
See
CakeTime::timeAgoInWords()'+1 month'
$wordFormatsource
public static string
The format to use when formatting a time using CakeTime::timeAgoInWords()
and the difference is more than CakeTime::$wordEnd
See
CakeTime::timeAgoInWords()'j/n/y'
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-CakeTime.html