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.

  • $helpers protected
    array

    List of helpers used by this helper

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

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

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

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(string $name)

Lazy loads helpers.

Parameters

string $name

Name of the property being accessed.

Returns

\Cake\View\Helper|null|void

Helper instance if helper with provided name exists

_configDelete() protected

_configDelete(string $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(?string $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(string $okCode, string $cancelCode)

Returns a string to be used as onclick handler for confirm dialogs.

Parameters

string $okCode

Code to be executed after user chose 'OK'

string $cancelCode

Code to be executed after user chose 'Cancel'

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, string $class, string $key)

Adds the given class to the element options

Parameters

array $options

Array options/attributes to add a class to

string $class

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.

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|\DateTimeInterface $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(string $name, array $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|\DateTimeInterface $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(?string $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 $default optional

The return value when the key does not exist.

Returns

mixed

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

getConfigOrFail() public

getConfigOrFail(string $key)

Returns the config for this specific key.

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

Parameters

string $key

The key to get.

Returns

mixed

Configuration data at the named key

Throws

InvalidArgumentException

getTemplates() public

getTemplates(?string $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|\DateTimeInterface|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|\DateTimeInterface $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|\DateTimeInterface $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|\DateTimeInterface $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|\DateTimeInterface $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|\DateTimeInterface $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|\DateTimeInterface $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|\DateTimeInterface $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(string $timeInterval, mixed $dateString, mixed $timezone)

Returns true if specified datetime is within the interval specified, else false.

Parameters

string $timeInterval

the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.

int|string|\DateTimeInterface $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, ?string $locale)

Returns a nicely formatted date string for given Datetime string.

Parameters

int|string|\DateTimeInterface|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

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|\DateTimeInterface $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|\DateTimeInterface $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|\DateTimeInterface $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|\DateTimeInterface $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|\DateTimeInterface $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(string $timeInterval, mixed $dateString, mixed $timezone)

Returns true if specified datetime was within the interval specified, else false.

Parameters

string $timeInterval

the numeric value with space then time type. Example of valid types: 6 hours, 2 days, 1 minute.

int|string|\DateTimeInterface $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|\DateTimeInterface $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

$helpers protected

List of helpers used by this helper

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/4.0/class-Cake.View.Helper.TimeHelper.html