W3cubDocs

/CakePHP 4.4

Class TimeHelper

Time Helper class for easy use of time data.

Manipulation of time data.

Namespace: Cake\View\Helper
See: \Cake\I18n\Time
Link: https://book.cakephp.org/4/en/views/helpers/time.html

Property Summary

  • $_View protected
    Cake\View\View

    The View instance this helper is attached to

  • $_config protected
    array<string, mixed>

    Runtime config

  • bool

    Whether the config property has already been configured with defaults

  • $_defaultConfig protected
    array<string, mixed>

    Config options

  • $_helperMap protected
    array<string, array>

    A helper lookup table used to lazy load helper objects.

  • $_templater protected
    Cake\View\StringTemplate|null

    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): mixed|void

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<string, mixed> $config = [])

Default Constructor

Parameters

Cake\View\View $view

The View this helper is being attached to.

array<string, mixed> $config optional

Configuration settings for the helper.

__debugInfo() public

__debugInfo(): array<string, mixed>

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

Returns

array<string, mixed>

__get() public

__get(string $name): Cake\View\Helper|null|void

Lazy loads helpers.

Parameters

string $name

Name of the property being accessed.

Returns

Cake\View\Helper|null|void

_configDelete() protected

_configDelete(string $key): void

Deletes a single config key.

Parameters

string $key

Key to delete.

Returns

void

Throws

Cake\Core\Exception\CakeException
if 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(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void

Writes a config key.

Parameters

array<string, mixed>|string $key

Key to write to.

mixed $value

Value to write.

string|bool $merge optional

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Returns

void

Throws

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

_confirm() protected

_confirm(string $okCode, string $cancelCode): string

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

_getTimezone() protected

_getTimezone(DateTimeZone|string|null $timezone): DateTimeZone|string|null

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

addClass() public

addClass(array<string, mixed> $options, string $class, string $key = 'class'): array<string, mixed>

Adds the given class to the element options

Parameters

array<string, mixed> $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<string, mixed>

configShallow() public

configShallow(array<string, mixed>|string $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

array<string, mixed>|string $key

The key to set, or a complete array of configs.

mixed|null $value optional

The value to set.

Returns

$this

format() public

format(DateTimeInterface|string|int|null $date, string|int|null $format = null, string|false $invalid = false, DateTimeZone|string|null $timezone = null): string|int|false

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

DateTimeInterface|string|int|null $date

UNIX timestamp, strtotime() valid string or DateTime object (or a date format string).

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

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

string|int|false

See Also

\Cake\I18n\Time::i18nFormat()

formatTemplate() public

formatTemplate(string $name, array<string, mixed> $data): string

Formats a template string with $data

Parameters

string $name

The template name.

array<string, mixed> $data

The data to insert.

Returns

string

fromString() public

fromString(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): Cake\I18n\FrozenTime

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

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

Cake\I18n\FrozenTime

getConfig() public

getConfig(string|null $key = null, mixed $default = 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');

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

getConfigOrFail() public

getConfigOrFail(string $key): mixed

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

Throws

InvalidArgumentException

getTemplates() public

getTemplates(string|null $template = null): array|string

Gets templates to use or a specific template.

Parameters

string|null $template optional

String for reading a specific template, null for all.

Returns

array|string

getView() public

getView(): Cake\View\View

Get the view instance this helper is bound to.

Returns

Cake\View\View

gmt() public

gmt(DateTimeInterface|string|int|null $string = null): string

Returns gmt as a UNIX timestamp.

Parameters

DateTimeInterface|string|int|null $string optional

UNIX timestamp, strtotime() valid string or DateTime object

Returns

string

See Also

\Cake\I18n\Time::gmt()

i18nFormat() public

i18nFormat(DateTimeInterface|string|int|null $date, string|int|null $format = null, string|false $invalid = false, DateTimeZone|string|null $timezone = null): string|int|false

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

Parameters

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

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

string|int|false

Throws

Exception
When the date cannot be parsed

See Also

\Cake\I18n\Time::i18nFormat()

implementedEvents() public

implementedEvents(): array<string, mixed>

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

array<string, mixed>

initialize() public

initialize(array<string, mixed> $config): void

Constructor hook method.

Implement this method to avoid having to overwrite the constructor and call parent.

Parameters

array<string, mixed> $config

The configuration settings provided to this helper.

Returns

void

isFuture() public

isFuture(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

Returns true, if the given datetime string is in the future.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

isPast() public

isPast(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

Returns true, if the given datetime string is in the past.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

isThisMonth() public

isThisMonth(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

Returns true if given datetime string is within this month

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

isThisWeek() public

isThisWeek(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

Returns true if given datetime string is within this week.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

isThisYear() public

isThisYear(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

Returns true if given datetime string is within the current year.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

isToday() public

isToday(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

Returns true, if the given datetime string is today.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

isTomorrow() public

isTomorrow(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

Returns true if given datetime string is tomorrow.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

isWithinNext() public

isWithinNext(string $timeInterval, DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

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.

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

See Also

\Cake\I18n\Time::wasWithinLast()

nice() public

nice(DateTimeInterface|string|int|null $dateString = null, DateTimeZone|string|null $timezone = null, string|null $locale = null): string

Returns a nicely formatted date string for given Datetime string.

Parameters

DateTimeInterface|string|int|null $dateString optional

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

string|null $locale optional

Locale string.

Returns

string

setConfig() public

setConfig(array<string, mixed>|string $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

array<string, mixed>|string $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\CakeException
When trying to set a key that is invalid.

setTemplates() public

setTemplates(array<string> $templates): $this

Sets templates to use.

Parameters

array<string> $templates

Templates to be added.

Returns

$this

templater() public

templater(): Cake\View\StringTemplate

Returns the templater instance.

Returns

Cake\View\StringTemplate

timeAgoInWords() public

timeAgoInWords(DateTimeInterface|string|int $dateTime, array<string, mixed> $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 to time-ago-in-words.
    • title - Defaults to the $dateTime input.

Parameters

DateTimeInterface|string|int $dateTime

UNIX timestamp, strtotime() valid string or DateTime object.

array<string, mixed> $options optional

Default format if timestamp is used in $dateString

Returns

string

See Also

\Cake\I18n\Time::timeAgoInWords()

toAtom() public

toAtom(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): string

Returns a date formatted for Atom RSS feeds.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

string

See Also

\Cake\I18n\Time::toAtom()

toQuarter() public

toQuarter(DateTimeInterface|string|int $dateString, bool $range = false): array<string>|int

Returns the quarter

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

bool $range optional

if true returns a range in Y-m-d format

Returns

array<string>|int

See Also

\Cake\I18n\Time::toQuarter()

toRss() public

toRss(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): string

Formats date for RSS feeds

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

string

toUnix() public

toUnix(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): string

Returns a UNIX timestamp from a textual datetime description.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

string

See Also

\Cake\I18n\Time::toUnix()

wasWithinLast() public

wasWithinLast(string $timeInterval, DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

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.

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

See Also

\Cake\I18n\Time::wasWithinLast()

wasYesterday() public

wasYesterday(DateTimeInterface|string|int $dateString, DateTimeZone|string|null $timezone = null): bool

Returns true if given datetime string was yesterday.

Parameters

DateTimeInterface|string|int $dateString

UNIX timestamp, strtotime() valid string or DateTime object

DateTimeZone|string|null $timezone optional

User's timezone string or DateTimeZone object

Returns

bool

Property Detail

$_View protected

The View instance this helper is attached to

Type

Cake\View\View

$_config protected

Runtime config

Type

array<string, mixed>

$_configInitialized protected

Whether the config property has already been configured with defaults

Type

bool

$_defaultConfig protected

Config options

Type

array<string, mixed>

$_helperMap protected

A helper lookup table used to lazy load helper objects.

Type

array<string, array>

$_templater protected

StringTemplate instance.

Type

Cake\View\StringTemplate|null

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