Class CakeTime
Time Helper class for easy use of time data.
Manipulation of time data.
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Link: http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html
Located at Cake/Utility/CakeTime.php
Method Detail
__getsource 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
mixed
__setsource 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
_strftimesource 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
string
formatted string with correct encoding.
_translateSpecifiersource 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
string
converted element
convertsource 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
integer
UNIX timestamp
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::convertconvertSpecifierssource 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
string
Windows safe and date() function compatible format for strftime
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::convertSpecifiersdayAsSqlsource 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
string
Partial SQL string.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::dayAsSqldaysAsSqlsource 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
string
Partial SQL string.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::daysAsSqlformatsource 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
string
Formatted date string
See
CakeTime::i18nFormat()
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::formatfromStringsource 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
string
Parsed timestamp
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::fromStringgmtsource 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
integer
UNIX timestamp
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::gmti18nFormatsource 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
string
Formatted and translated date string
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::i18nFormatisFuturesource 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
boolean
True if datetime string is in the future
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isFutureisPastsource 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
boolean
True if datetime string is in the past
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isPastisThisMonthsource 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
boolean
True if datetime string is within current month
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isThisMonthisThisWeeksource 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
boolean
True if datetime string is within current week
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isThisWeekisThisYearsource 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
boolean
True if datetime string is within current year
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isThisYearisTodaysource 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
boolean
True if datetime string is today
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isTodayisTomorrowsource 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
boolean
True if datetime string was yesterday
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::isTomorrowisWithinNextsource 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
boolean
bool
listTimezonessource public static
listTimezones( integer|string $filter null , string $country null , boolean $group true )
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
$group
optional true - If true (default value) groups the identifiers list by primary region
Returns
array
List of timezone identifiers
Since
2.2Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::listTimezonesnicesource 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
string
Formatted date string
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::niceniceShortsource 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
string
Described, relative date string
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::niceShortserverOffsetsource public static
serverOffset( )
Returns server's offset from GMT in seconds.
Returns
integer
Offset
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::serverOffsettimeAgoInWordssource 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
string
Relative time string.
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::timeAgoInWordstimezonesource 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
DateTimeZone
Timezone object
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::timezonetoAtomsource 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
string
Formatted date string
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toAtomtoQuartersource 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|array
1, 2, 3, or 4 quarter of year or array if $range true
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toQuartertoRSSsource 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
string
Formatted date string
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toRSStoServersource 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
mixed
Formatted date
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toServertoUnixsource 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
integer
Unix timestamp
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::toUnixwasWithinLastsource 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
boolean
bool
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::wasWithinLastwasYesterdaysource 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
boolean
True if datetime string was yesterday
Link
http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#TimeHelper::wasYesterdayProperties summary
© 2005–2016 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.
http://api.cakephp.org/2.7/class-CakeTime.html