Class TimeHelper
Time Helper class for easy use of time data.
Manipulation of time data.
See: \Cake\I18n\Time
Link: https://book.cakephp.org/3.0/en/views/helpers/time.html
Property Summary
- 
        $_View protected
Cake\View\ViewThe View instance this helper is attached to
 - 
        $_config protected
arrayRuntime config
 - 
        $_configInitialized protected
boolWhether the config property has already been configured with defaults
 - 
        $_defaultConfig protected
arrayConfig options
 - 
        $_helperMap protected
arrayA helper lookup table used to lazy load helper objects.
 - 
        $_templater protected
Cake\View\StringTemplateStringTemplate instance.
 - 
        $fieldset public
arrayHolds the fields ['field_name' => ['type' => 'string', 'length' => 100]], primaryKey and validates ['field_name']
 - 
        $helpers public
arrayList of helpers used by this helper
 - 
        $plugin public
stringPlugin path
 - 
        $request public
Cake\Http\ServerRequestRequest object
 - 
        $tags public
arrayHolds tag templates.
 - 
        $theme public
stringThe current theme name if any.
 
Method Summary
- 
          
__call() public
Provide non fatal errors on missing method calls.
 - 
          
__construct() public
Default Constructor
 - 
          
__debugInfo() public
Returns an array that can be used to describe the internal state of this object.
 - 
          
__get() public
Lazy loads helpers.
 - 
          
_configDelete() protected
Deletes a single config key.
 - 
          
_configRead() protected
Reads a config key.
 - 
          
_configWrite() protected
Writes a config key.
 - 
          
_confirm() protected
Returns a string to be used as onclick handler for confirm dialogs.
 - 
          
_getTimezone() protected
Get a timezone.
 - 
          
addClass() public
Adds the given class to the element options
 - 
          
config() public deprecated
Gets/Sets the config.
 - 
          
configShallow() public
Merge provided config with existing config. Unlike
config()which does a recursive merge for nested keys, this method does a simple merge. - 
          
format() public
Returns a formatted date string, given either a Time instance, UNIX timestamp or a valid strtotime() date string.
 - 
          
formatTemplate() public
Formats a template string with $data
 - 
          
fromString() public
Returns a UNIX timestamp, given either a UNIX timestamp or a valid strtotime() date string.
 - 
          
getConfig() public
Returns the config.
 - 
          
getTemplates() public
Gets templates to use or a specific template.
 - 
          
getView() public
Get the view instance this helper is bound to.
 - 
          
gmt() public
Returns gmt as a UNIX timestamp.
 - 
          
i18nFormat() public
Returns a formatted date string, given either a Datetime instance, UNIX timestamp or a valid strtotime() date string.
 - 
          
implementedEvents() public
Event listeners.
 - 
          
initialize() public
Constructor hook method.
 - 
          
isFuture() public
Returns true, if the given datetime string is in the future.
 - 
          
isPast() public
Returns true, if the given datetime string is in the past.
 - 
          
isThisMonth() public
Returns true if given datetime string is within this month
 - 
          
isThisWeek() public
Returns true if given datetime string is within this week.
 - 
          
isThisYear() public
Returns true if given datetime string is within the current year.
 - 
          
isToday() public
Returns true, if the given datetime string is today.
 - 
          
isTomorrow() public
Returns true if given datetime string is tomorrow.
 - 
          
isWithinNext() public
Returns true if specified datetime is within the interval specified, else false.
 - 
          
nice() public
Returns a nicely formatted date string for given Datetime string.
 - 
          
setConfig() public
Sets the config.
 - 
          
setTemplates() public
Sets templates to use.
 - 
          
templater() public
Returns the templater instance.
 - 
          
templates() public deprecated
Gets/sets templates to use.
 - 
          
timeAgoInWords() public
Formats a date into a phrase expressing the relative time.
 - 
          
toAtom() public
Returns a date formatted for Atom RSS feeds.
 - 
          
toQuarter() public
Returns the quarter
 - 
          
toRss() public
Formats date for RSS feeds
 - 
          
toUnix() public
Returns a UNIX timestamp from a textual datetime description.
 - 
          
wasWithinLast() public
Returns true if specified datetime was within the interval specified, else false.
 - 
          
wasYesterday() public
Returns true if given datetime string was yesterday.
 
Method Detail
__call() ¶ public
__call(string $method, array $params): void
      Provide non fatal errors on missing method calls.
Parameters
- 
                
string$method Method to invoke
- 
                
array$params Array of params for the method.
Returns
void__construct() ¶ public
__construct(Cake\View\View $View, array $config = [])
      Default Constructor
Parameters
- 
                
Cake\View\View$View The View this helper is being attached to.
- 
                
array$config optional Configuration settings for the helper.
__debugInfo() ¶ public
__debugInfo(): array
      Returns an array that can be used to describe the internal state of this object.
Returns
array__get() ¶ public
__get(string $name): Cake\View\Helper|null
      Lazy loads helpers.
Parameters
- 
                
string$name Name of the property being accessed.
Returns
Cake\View\Helper|nullHelper instance if helper with provided name exists
_configDelete() ¶ protected
_configDelete(string $key): void
      Deletes a single config key.
Parameters
- 
                
string$key Key to delete.
Returns
voidThrows
Cake\Core\Exception\Exceptionif attempting to clobber existing config
_configRead() ¶ protected
_configRead(string|null $key): mixed
      Reads a config key.
Parameters
- 
                
string|null$key Key to read.
Returns
mixed_configWrite() ¶ protected
_configWrite(string|array $key, mixed $value, bool|string $merge = false): void
      Writes a config key.
Parameters
- 
                
string|array$key Key to write to.
- 
                
mixed$value Value to write.
- 
                
bool|string$merge optional True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Returns
voidThrows
Cake\Core\Exception\Exceptionif attempting to clobber existing config
_confirm() ¶ protected
_confirm(string $message, string $okCode, string $cancelCode = '', array $options = []): string
      Returns a string to be used as onclick handler for confirm dialogs.
Parameters
- 
                
string$message Message to be displayed
- 
                
string$okCode Code to be executed after user chose 'OK'
- 
                
string$cancelCode optional Code to be executed after user chose 'Cancel'
- 
                
array$options optional Array of options
Returns
stringonclick JS code
_getTimezone() ¶ protected
_getTimezone(null|string|DateTimeZone $timezone): null|string|DateTimeZone
      Get a timezone.
Will use the provided timezone, or default output timezone if defined.
Parameters
- 
                
null|string|DateTimeZone$timezone The override timezone if applicable.
Returns
null|string|DateTimeZoneThe chosen timezone or null.
addClass() ¶ public
addClass(array $options = [], string|null $class = null, string $key = 'class'): array
      Adds the given class to the element options
Parameters
- 
                
array$options optional Array options/attributes to add a class to
- 
                
string|null$class optional The class name being added.
- 
                
string$key optional the key to use for class.
Returns
arrayArray of options with $key set.
config() ¶ public
config(string|array|null $key = null, mixed|null $value = null, bool $merge = true): mixed
      Gets/Sets the config.
Usage
Reading the whole config:
$this->config();
Reading a specific value:
$this->config('key');
Reading a nested value:
$this->config('some.nested.key');
Setting a specific value:
$this->config('key', $value);
Setting a nested value:
$this->config('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->config(['one' => 'value', 'another' => 'value']);
        
                  Parameters
- 
                
string|array|null$key optional The key to get/set, or a complete array of configs.
- 
                
mixed|null$value optional The value to set.
- 
                
bool$merge optional Whether to recursively merge or overwrite existing config, defaults to true.
Returns
mixedConfig value being read, or the object itself on write operations.
Throws
Cake\Core\Exception\ExceptionWhen trying to set a key that is invalid.
configShallow() ¶ public
configShallow(string|array $key, mixed|null $value = null): $this
      Merge provided config with existing config. Unlike config() which does
a recursive merge for nested keys, this method does a simple merge.
Setting a specific value:
$this->configShallow('key', $value);
Setting a nested value:
$this->configShallow('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
        
                  Parameters
- 
                
string|array$key The key to set, or a complete array of configs.
- 
                
mixed|null$value optional The value to set.
Returns
$thisformat() ¶ public
format(int|string|DateTime $date, int|string|null $format = null, bool|string $invalid = false, string|DateTimeZone|null $timezone = null): string
      Returns a formatted date string, given either a Time instance, UNIX timestamp or a valid strtotime() date string.
This method is an alias for TimeHelper::i18nFormat().
Parameters
- 
                
int|string|DateTime$date UNIX timestamp, strtotime() valid string or DateTime object (or a date format string)
- 
                
int|string|null$format optional date format string (or a UNIX timestamp, strtotime() valid string or DateTime object)
- 
                
bool|string$invalid optional Default value to display on invalid dates
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
stringFormatted and translated date string
See Also
formatTemplate() ¶ public
formatTemplate(string $name, array $data): string
      Formats a template string with $data
Parameters
- 
                
string$name The template name.
- 
                
array$data The data to insert.
Returns
stringfromString() ¶ public
fromString(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): Cake\I18n\Time
      Returns a UNIX timestamp, given either a UNIX timestamp or a valid strtotime() date string.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
Cake\I18n\TimegetConfig() ¶ public
getConfig(string|null $key = null): mixed
      Returns the config.
Usage
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key');
Reading a nested value:
$this->getConfig('some.nested.key');
        
                  Parameters
- 
                
string|null$key optional The key to get or null for the whole config.
Returns
mixedConfig value being read.
getTemplates() ¶ public
getTemplates(string|null $template = null): string|array
      Gets templates to use or a specific template.
Parameters
- 
                
string|null$template optional String for reading a specific template, null for all.
Returns
string|arraygetView() ¶ public
getView(): Cake\View\View
      Get the view instance this helper is bound to.
Returns
Cake\View\ViewThe bound view instance.
gmt() ¶ public
gmt(int|string|DateTime|null $string = null): string
      Returns gmt as a UNIX timestamp.
Parameters
- 
                
int|string|DateTime|null$string optional UNIX timestamp, strtotime() valid string or DateTime object
Returns
stringUNIX timestamp
See Also
i18nFormat() ¶ public
i18nFormat(int|string|DateTime $date, string|null $format = null, bool|string $invalid = false, string|DateTimeZone|null $timezone = null): string
      Returns a formatted date string, given either a Datetime instance, UNIX timestamp or a valid strtotime() date string.
Parameters
- 
                
int|string|DateTime$date UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|null$format optional Intl compatible format string.
- 
                
bool|string$invalid optional Default value to display on invalid dates
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
stringFormatted and translated date string
Throws
ExceptionWhen the date cannot be parsed
See Also
implementedEvents() ¶ public
implementedEvents(): array
      Event listeners.
By defining one of the callback methods a helper is assumed to be interested in the related event.
Override this method if you need to add non-conventional event listeners. Or if you want helpers to listen to non-standard events.
Returns
arrayinitialize() ¶ public
initialize(array $config): void
      Constructor hook method.
Implement this method to avoid having to overwrite the constructor and call parent.
Parameters
- 
                
array$config The configuration settings provided to this helper.
Returns
voidisFuture() ¶ public
isFuture(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true, if the given datetime string is in the future.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolTrue if the given datetime string lies in the future.
isPast() ¶ public
isPast(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true, if the given datetime string is in the past.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolTrue if the given datetime string lies in the past.
isThisMonth() ¶ public
isThisMonth(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true if given datetime string is within this month
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolTrue if datetime string is within the current month
isThisWeek() ¶ public
isThisWeek(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true if given datetime string is within this week.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolTrue if datetime string is within current week
isThisYear() ¶ public
isThisYear(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true if given datetime string is within the current year.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolTrue if datetime string is within current year
isToday() ¶ public
isToday(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true, if the given datetime string is today.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolTrue if the given datetime string is today.
isTomorrow() ¶ public
isTomorrow(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true if given datetime string is tomorrow.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolTrue if datetime string was yesterday
isWithinNext() ¶ public
isWithinNext(string|int $timeInterval, int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true if specified datetime is within the interval specified, else false.
Parameters
- 
                
string|int$timeInterval the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolSee Also
nice() ¶ public
nice(int|string|DateTime|null $dateString = null, string|DateTimeZone|null $timezone = null, string|null $locale = null): string
      Returns a nicely formatted date string for given Datetime string.
Parameters
- 
                
int|string|DateTime|null$dateString optional UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
- 
                
string|null$locale optional Locale string.
Returns
stringFormatted date string
setConfig() ¶ public
setConfig(string|array $key, mixed|null $value = null, bool $merge = true): $this
      Sets the config.
Usage
Setting a specific value:
$this->setConfig('key', $value);
Setting a nested value:
$this->setConfig('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
        
                  Parameters
- 
                
string|array$key The key to set, or a complete array of configs.
- 
                
mixed|null$value optional The value to set.
- 
                
bool$merge optional Whether to recursively merge or overwrite existing config, defaults to true.
Returns
$thisThrows
Cake\Core\Exception\ExceptionWhen trying to set a key that is invalid.
setTemplates() ¶ public
setTemplates(array $templates): $this
      Sets templates to use.
Parameters
- 
                
array$templates Templates to be added.
Returns
$thistemplater() ¶ public
templater(): Cake\View\StringTemplate
      Returns the templater instance.
Returns
Cake\View\StringTemplatetemplates() ¶ public
templates(string|null|array $templates = null): $this|string|array
      Gets/sets templates to use.
Parameters
- 
                
string|null|array$templates optional null or string allow reading templates. An array allows templates to be added.
Returns
$this|string|arraytimeAgoInWords() ¶ public
timeAgoInWords(int|string|DateTime $dateTime, array $options = []): string
      Formats a date into a phrase expressing the relative time.
Additional options
element- The element to wrap the formatted time in. Has a few additional options:tag- The tag to use, defaults to 'span'.class- The class name to use, defaults totime-ago-in-words.title- Defaults to the $dateTime input.
Parameters
- 
                
int|string|DateTime$dateTime UNIX timestamp, strtotime() valid string or DateTime object
- 
                
array$options optional Default format if timestamp is used in $dateString
Returns
stringRelative time string.
See Also
toAtom() ¶ public
toAtom(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): string
      Returns a date formatted for Atom RSS feeds.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
stringFormatted date string
See Also
toQuarter() ¶ public
toQuarter(int|string|DateTime $dateString, bool $range = false): int|array
      Returns the quarter
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
bool$range optional if true returns a range in Y-m-d format
Returns
int|array1, 2, 3, or 4 quarter of year or array if $range true
See Also
toRss() ¶ public
toRss(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): string
      Formats date for RSS feeds
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
stringFormatted date string
toUnix() ¶ public
toUnix(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): string
      Returns a UNIX timestamp from a textual datetime description.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
stringUNIX timestamp
See Also
wasWithinLast() ¶ public
wasWithinLast(string|int $timeInterval, int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true if specified datetime was within the interval specified, else false.
Parameters
- 
                
string|int$timeInterval the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolSee Also
wasYesterday() ¶ public
wasYesterday(int|string|DateTime $dateString, string|DateTimeZone|null $timezone = null): bool
      Returns true if given datetime string was yesterday.
Parameters
- 
                
int|string|DateTime$dateString UNIX timestamp, strtotime() valid string or DateTime object
- 
                
string|DateTimeZone|null$timezone optional User's timezone string or DateTimeZone object
Returns
boolTrue if datetime string was yesterday