Class TimeHelper

Time Helper class for easy use of time data.

Manipulation of time data.

Namespace: Cake\View\Helper

Properties summary

  • $_View protected
    \Cake\View\View

    The View instance this helper is attached to

  • $_config protected
    array

    Runtime config

  • bool

    Whether the config property has already been configured with defaults

  • $_defaultConfig protected
    array

    Config options

  • $_helperMap protected
    array

    A helper lookup table used to lazy load helper objects.

  • $_templater protected
    \Cake\View\StringTemplate

    StringTemplate instance.

  • $fieldset public
    array

    Unused.

  • $helpers protected
    array

    List of helpers used by this helper

  • $tags public
    array

    Unused.

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.

  • __set() public

    Magic setter for removed properties.

  • _cleanConfirmMessage() protected

    Returns a string read to be used in confirm()

  • _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

    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.

  • getConfigOrFail() public

    Returns the config for this specific key.

  • 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

    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(mixed $method, mixed $params)

Provide non fatal errors on missing method calls.

Parameters

string $method

Method to invoke

array $params

Array of params for the method.

Returns

mixed|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()

Returns an array that can be used to describe the internal state of this object.

Returns

array

__get() public

__get(mixed $name)

Lazy loads helpers.

Parameters

string $name

Name of the property being accessed.

Returns

\Cake\View\Helper|null

Helper instance if helper with provided name exists

__set() public

__set(mixed $name, mixed $value)

Magic setter for removed properties.

Parameters

string $name

Property name.

mixed $value

Value to set.

_cleanConfirmMessage() protected

_cleanConfirmMessage(mixed $message)

Returns a string read to be used in confirm()

Parameters

string $message

The message to clean

Returns

mixed

_configDelete() protected

_configDelete(mixed $key)

Deletes a single config key.

Parameters

string $key

Key to delete.

Throws

Cake\Core\Exception\Exception
if attempting to clobber existing config

_configRead() protected

_configRead(mixed $key)

Reads a config key.

Parameters

string|null $key

Key to read.

Returns

mixed

_configWrite() protected

_configWrite(mixed $key, mixed $value, mixed $merge)

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.

Throws

Cake\Core\Exception\Exception
if attempting to clobber existing config

_confirm() protected

_confirm(mixed $message, mixed $okCode, mixed $cancelCode, mixed $options)

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

string

onclick JS code

_getTimezone() protected

_getTimezone(mixed $timezone)

Get a timezone.

Will use the provided timezone, or default output timezone if defined.

Parameters

\DateTimeZone|string|null $timezone

The override timezone if applicable.

Returns

\DateTimeZone|string|null

The chosen timezone or null.

addClass() public

addClass(array $options, mixed $class, mixed $key)

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. Defaults to 'class'.

Returns

array

Array of options with $key set.

config() public

config(mixed $key, mixed $value, mixed $merge)

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

mixed

Config value being read, or the object itself on write operations.

Throws

Cake\Core\Exception\Exception
When trying to set a key that is invalid.

configShallow() public

configShallow(mixed $key, mixed $value)

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

$this

format() public

format(mixed $date, mixed $format, mixed $invalid, mixed $timezone)

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).

string|false $invalid optional

Default value to display on invalid dates

string|\DateTimeZone|null $timezone optional

User's timezone string or DateTimeZone object

Returns

string|int|false

Formatted and translated date string

See Also

\Cake\I18n\Time::i18nFormat()

formatTemplate() public

formatTemplate(mixed $name, mixed $data)

Formats a template string with $data

Parameters

string $name

The template name.

array $data

The data to insert.

Returns

string

fromString() public

fromString(mixed $dateString, mixed $timezone)

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\Time

getConfig() public

getConfig(mixed $key, mixed $default)

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');

Reading with default value:

$this->getConfig('some-key', 'default-value');

Parameters

string|null $key optional

The key to get or null for the whole config.

mixed|null $default optional

The return value when the key does not exist.

Returns

mixed|null

Configuration data at the named key or null if the key does not exist.

getConfigOrFail() public

getConfigOrFail(mixed $key)

Returns the config for this specific key.

The config value for this key must exist, it can never be null.

Parameters

string|null $key

The key to get.

Returns

mixed

Configuration data at the named key

Throws

InvalidArgumentException

getTemplates() public

getTemplates(mixed $template)

Gets templates to use or a specific template.

Parameters

string|null $template optional

String for reading a specific template, null for all.

Returns

string|array

getView() public

getView()

Get the view instance this helper is bound to.

Returns

\Cake\View\View

The bound view instance.

gmt() public

gmt(mixed $string)

Returns gmt as a UNIX timestamp.

Parameters

int|string|\DateTime|null $string optional

UNIX timestamp, strtotime() valid string or DateTime object

Returns

string

UNIX timestamp

See Also

\Cake\I18n\Time::gmt()

i18nFormat() public

i18nFormat(mixed $date, mixed $format, mixed $invalid, mixed $timezone)

Returns a formatted date string, given either a Datetime instance, UNIX timestamp or a valid strtotime() date string.

Parameters

int|string|\DateTimeInterface|null $date

UNIX timestamp, strtotime() valid string or DateTime object

string|int|null $format optional

Intl compatible format string.

string|false $invalid optional

Default value to display on invalid dates

string|\DateTimeZone|null $timezone optional

User's timezone string or DateTimeZone object

Returns

string|int|false

Formatted and translated date string or value for $invalid on failure.

Throws

Exception
When the date cannot be parsed

See Also

\Cake\I18n\Time::i18nFormat()

implementedEvents() public

implementedEvents()

Event listeners.

Returns

array

initialize() public

initialize(array $config)

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.

isFuture() public

isFuture(mixed $dateString, mixed $timezone)

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

bool

True if the given datetime string lies in the future.

isPast() public

isPast(mixed $dateString, mixed $timezone)

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

bool

True if the given datetime string lies in the past.

isThisMonth() public

isThisMonth(mixed $dateString, mixed $timezone)

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

bool

True if datetime string is within the current month

isThisWeek() public

isThisWeek(mixed $dateString, mixed $timezone)

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

bool

True if datetime string is within current week

isThisYear() public

isThisYear(mixed $dateString, mixed $timezone)

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

bool

True if datetime string is within current year

isToday() public

isToday(mixed $dateString, mixed $timezone)

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

bool

True if the given datetime string is today.

isTomorrow() public

isTomorrow(mixed $dateString, mixed $timezone)

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

bool

True if datetime string was yesterday

isWithinNext() public

isWithinNext(mixed $timeInterval, mixed $dateString, mixed $timezone)

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. Integer input values are deprecated and support will be removed in 4.0.0

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

bool

See Also

\Cake\I18n\Time::wasWithinLast()

nice() public

nice(mixed $dateString, mixed $timezone, mixed $locale)

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

string

Formatted date string

setConfig() public

setConfig(mixed $key, mixed $value, mixed $merge)

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

$this

Throws

Cake\Core\Exception\Exception
When trying to set a key that is invalid.

setTemplates() public

setTemplates(array $templates)

Sets templates to use.

Parameters

string[] $templates

Templates to be added.

Returns

$this

templater() public

templater()

Returns the templater instance.

Returns

\Cake\View\StringTemplate

templates() public

templates(mixed $templates)

Gets/sets templates to use.

Parameters

string|array|null $templates optional

null or string allow reading templates. An array allows templates to be added.

Returns

$this|string|array

timeAgoInWords() public

timeAgoInWords(mixed $dateTime, array $options)

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 to time-ago-in-words.
    • title - Defaults to the $dateTime input.

Parameters

int|string|\DateTime|\Cake\Chronos\ChronosInterface $dateTime

UNIX timestamp, strtotime() valid string or DateTime object

array $options optional

Default format if timestamp is used in $dateString

Returns

string

Relative time string.

See Also

\Cake\I18n\Time::timeAgoInWords()

toAtom() public

toAtom(mixed $dateString, mixed $timezone)

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

string

Formatted date string

See Also

\Cake\I18n\Time::toAtom()

toQuarter() public

toQuarter(mixed $dateString, mixed $range)

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

string[]|int

1, 2, 3, or 4 quarter of year or array if $range true

See Also

\Cake\I18n\Time::toQuarter()

toRss() public

toRss(mixed $dateString, mixed $timezone)

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

string

Formatted date string

toUnix() public

toUnix(mixed $dateString, mixed $timezone)

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

string

UNIX timestamp

See Also

\Cake\I18n\Time::toUnix()

wasWithinLast() public

wasWithinLast(mixed $timeInterval, mixed $dateString, mixed $timezone)

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. Integer input values are deprecated and support will be removed in 4.0.0

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

bool

See Also

\Cake\I18n\Time::wasWithinLast()

wasYesterday() public

wasYesterday(mixed $dateString, mixed $timezone)

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

bool

True if datetime string was yesterday

Property Detail

$_View protected

The View instance this helper is attached to

Type

\Cake\View\View

$_config protected

Runtime config

Type

array

$_configInitialized protected

Whether the config property has already been configured with defaults

Type

bool

$_defaultConfig protected

Config options

Type

array

$_helperMap protected

A helper lookup table used to lazy load helper objects.

Type

array

$_templater protected

StringTemplate instance.

Type

\Cake\View\StringTemplate

$fieldset public

Unused.

Type

array

$helpers protected

List of helpers used by this helper

Type

array

$tags public

Unused.

Type

array

© 2005–present 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/3.9/class-Cake.View.Helper.TimeHelper.html