Fr3nch13/CakePHP Utilities

TimeHelper extends Helper
in package
uses StringTemplateTrait

Time Helper class for easy use of time data.

Manipulation of time data.

Tags
link
https://book.cakephp.org/4/en/views/helpers/time.html
see
Time

Table of Contents

Properties

$_config  : array<string, mixed>
Runtime config
$_configInitialized  : bool
Whether the config property has already been configured with defaults
$_defaultConfig  : array<string, mixed>
Config options
$_helperMap  : array<string, array<string|int, mixed>>
A helper lookup table used to lazy load helper objects.
$_templater  : StringTemplate|null
StringTemplate instance.
$_View  : View
The View instance this helper is attached to
$helpers  : array<string|int, mixed>
List of helpers used by this helper

Methods

__call()  : mixed|void
Provide non fatal errors on missing method calls.
__construct()  : mixed
Default Constructor
__debugInfo()  : array<string, mixed>
Returns an array that can be used to describe the internal state of this object.
__get()  : Helper|null|void
Lazy loads helpers.
addClass()  : array<string, mixed>
Adds the given class to the element options
configShallow()  : $this
Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.
format()  : string|int|false
Returns a formatted date string, given either a Time instance, UNIX timestamp or a valid strtotime() date string.
formatTemplate()  : string
Formats a template string with $data
fromString()  : FrozenTime
Returns a UNIX timestamp, given either a UNIX timestamp or a valid strtotime() date string.
getConfig()  : mixed
Returns the config.
getConfigOrFail()  : mixed
Returns the config for this specific key.
getTemplates()  : array<string|int, mixed>|string
Gets templates to use or a specific template.
getView()  : View
Get the view instance this helper is bound to.
gmt()  : string
Returns gmt as a UNIX timestamp.
i18nFormat()  : string|int|false
Returns a formatted date string, given either a Datetime instance, UNIX timestamp or a valid strtotime() date string.
implementedEvents()  : array<string, mixed>
Event listeners.
initialize()  : void
Constructor hook method.
isFuture()  : bool
Returns true, if the given datetime string is in the future.
isPast()  : bool
Returns true, if the given datetime string is in the past.
isThisMonth()  : bool
Returns true if given datetime string is within this month
isThisWeek()  : bool
Returns true if given datetime string is within this week.
isThisYear()  : bool
Returns true if given datetime string is within the current year.
isToday()  : bool
Returns true, if the given datetime string is today.
isTomorrow()  : bool
Returns true if given datetime string is tomorrow.
isWithinNext()  : bool
Returns true if specified datetime is within the interval specified, else false.
nice()  : string
Returns a nicely formatted date string for given Datetime string.
setConfig()  : $this
Sets the config.
setTemplates()  : $this
Sets templates to use.
templater()  : StringTemplate
Returns the templater instance.
timeAgoInWords()  : string
Formats a date into a phrase expressing the relative time.
toAtom()  : string
Returns a date formatted for Atom RSS feeds.
toQuarter()  : array<string|int, string>|int
Returns the quarter
toRss()  : string
Formats date for RSS feeds
toUnix()  : string
Returns a UNIX timestamp from a textual datetime description.
wasWithinLast()  : bool
Returns true if specified datetime was within the interval specified, else false.
wasYesterday()  : bool
Returns true if given datetime string was yesterday.
_configDelete()  : void
Deletes a single config key.
_configRead()  : mixed
Reads a config key.
_configWrite()  : void
Writes a config key.
_confirm()  : string
Returns a string to be used as onclick handler for confirm dialogs.
_getTimezone()  : DateTimeZone|string|null
Get a timezone.

Properties

$_configInitialized

Whether the config property has already been configured with defaults

protected bool $_configInitialized = false

$_defaultConfig

Config options

protected array<string, mixed> $_defaultConfig = ['outputTimezone' => null]

$_helperMap

A helper lookup table used to lazy load helper objects.

protected array<string, array<string|int, mixed>> $_helperMap = []

$_View

The View instance this helper is attached to

protected View $_View

$helpers

List of helpers used by this helper

protected array<string|int, mixed> $helpers = []

Methods

__call()

Provide non fatal errors on missing method calls.

public __call(string $method, array<string|int, mixed> $params) : mixed|void
Parameters
$method : string

Method to invoke

$params : array<string|int, mixed>

Array of params for the method.

Return values
mixed|void

__construct()

Default Constructor

public __construct(View $view[, array<string, mixed> $config = [] ]) : mixed
Parameters
$view : View

The View this helper is being attached to.

$config : array<string, mixed> = []

Configuration settings for the helper.

__debugInfo()

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

public __debugInfo() : array<string, mixed>
Return values
array<string, mixed>

__get()

Lazy loads helpers.

public __get(string $name) : Helper|null|void
Parameters
$name : string

Name of the property being accessed.

Return values
Helper|null|void —

Helper instance if helper with provided name exists

addClass()

Adds the given class to the element options

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

Array options/attributes to add a class to

$class : string

The class name being added.

$key : string = 'class'

the key to use for class. Defaults to 'class'.

Return values
array<string, mixed> —

Array of options with $key set.

configShallow()

Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.

public configShallow(array<string, mixed>|string $key[, mixed|null $value = null ]) : $this

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

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

$value : mixed|null = null

The value to set.

Return values
$this

format()

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

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

This method is an alias for TimeHelper::i18nFormat().

Parameters
$date : DateTimeInterface|string|int|null

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

$format : string|int|null = null

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

$invalid : string|false = false

Default value to display on invalid dates

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Tags
see
Time::i18nFormat()
Return values
string|int|false —

Formatted and translated date string

formatTemplate()

Formats a template string with $data

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

The template name.

$data : array<string, mixed>

The data to insert.

Return values
string

fromString()

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

public fromString(DateTimeInterface|string|int $dateString[, DateTimeZone|string|null $timezone = null ]) : FrozenTime
Parameters
$dateString : DateTimeInterface|string|int

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
FrozenTime

getConfig()

Returns the config.

public getConfig([string|null $key = null ][, mixed $default = null ]) : mixed

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
$key : string|null = null

The key to get or null for the whole config.

$default : mixed = null

The return value when the key does not exist.

Return values
mixed —

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

getConfigOrFail()

Returns the config for this specific key.

public getConfigOrFail(string $key) : mixed

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

Parameters
$key : string

The key to get.

Tags
throws
InvalidArgumentException
Return values
mixed —

Configuration data at the named key

getTemplates()

Gets templates to use or a specific template.

public getTemplates([string|null $template = null ]) : array<string|int, mixed>|string
Parameters
$template : string|null = null

String for reading a specific template, null for all.

Return values
array<string|int, mixed>|string

getView()

Get the view instance this helper is bound to.

public getView() : View
Return values
View —

The bound view instance.

gmt()

Returns gmt as a UNIX timestamp.

public gmt([DateTimeInterface|string|int|null $string = null ]) : string
Parameters
$string : DateTimeInterface|string|int|null = null

UNIX timestamp, strtotime() valid string or DateTime object

Tags
see
Time::gmt()
Return values
string —

UNIX timestamp

i18nFormat()

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

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

UNIX timestamp, strtotime() valid string or DateTime object

$format : string|int|null = null

Intl compatible format string.

$invalid : string|false = false

Default value to display on invalid dates

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Tags
throws
Exception

When the date cannot be parsed

see
Time::i18nFormat()
Return values
string|int|false —

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

implementedEvents()

Event listeners.

public implementedEvents() : array<string, mixed>
Return values
array<string, mixed>

initialize()

Constructor hook method.

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

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

Parameters
$config : array<string, mixed>

The configuration settings provided to this helper.

isFuture()

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

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
bool —

True if the given datetime string lies in the future.

isPast()

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

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
bool —

True if the given datetime string lies in the past.

isThisMonth()

Returns true if given datetime string is within this month

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
bool —

True if datetime string is within the current month

isThisWeek()

Returns true if given datetime string is within this week.

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
bool —

True if datetime string is within current week

isThisYear()

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

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
bool —

True if datetime string is within current year

isToday()

Returns true, if the given datetime string is today.

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
bool —

True if the given datetime string is today.

isTomorrow()

Returns true if given datetime string is tomorrow.

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
bool —

True if datetime string was yesterday

isWithinNext()

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

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

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

$dateString : DateTimeInterface|string|int

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Tags
see
Time::wasWithinLast()
Return values
bool

nice()

Returns a nicely formatted date string for given Datetime string.

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

$locale : string|null = null

Locale string.

Return values
string —

Formatted date string

setConfig()

Sets the config.

public setConfig(array<string, mixed>|string $key[, mixed|null $value = null ][, bool $merge = true ]) : $this

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

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

$value : mixed|null = null

The value to set.

$merge : bool = true

Whether to recursively merge or overwrite existing config, defaults to true.

Tags
throws
CakeException

When trying to set a key that is invalid.

Return values
$this

setTemplates()

Sets templates to use.

public setTemplates(array<string|int, string> $templates) : $this
Parameters
$templates : array<string|int, string>

Templates to be added.

Return values
$this

timeAgoInWords()

Formats a date into a phrase expressing the relative time.

public timeAgoInWords(DateTimeInterface|string|int $dateTime[, array<string, mixed> $options = [] ]) : string

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

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

$options : array<string, mixed> = []

Default format if timestamp is used in $dateString

Tags
see
Time::timeAgoInWords()
Return values
string —

Relative time string.

toAtom()

Returns a date formatted for Atom RSS feeds.

public toAtom(DateTimeInterface|string|int $dateString[, DateTimeZone|string|null $timezone = null ]) : string
Parameters
$dateString : DateTimeInterface|string|int

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Tags
see
Time::toAtom()
Return values
string —

Formatted date string

toQuarter()

Returns the quarter

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

UNIX timestamp, strtotime() valid string or DateTime object

$range : bool = false

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

Tags
see
Time::toQuarter()
Return values
array<string|int, string>|int —

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

toRss()

Formats date for RSS feeds

public toRss(DateTimeInterface|string|int $dateString[, DateTimeZone|string|null $timezone = null ]) : string
Parameters
$dateString : DateTimeInterface|string|int

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
string —

Formatted date string

toUnix()

Returns a UNIX timestamp from a textual datetime description.

public toUnix(DateTimeInterface|string|int $dateString[, DateTimeZone|string|null $timezone = null ]) : string
Parameters
$dateString : DateTimeInterface|string|int

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Tags
see
Time::toUnix()
Return values
string —

UNIX timestamp

wasWithinLast()

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

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

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

$dateString : DateTimeInterface|string|int

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Tags
see
Time::wasWithinLast()
Return values
bool

wasYesterday()

Returns true if given datetime string was yesterday.

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

UNIX timestamp, strtotime() valid string or DateTime object

$timezone : DateTimeZone|string|null = null

User's timezone string or DateTimeZone object

Return values
bool —

True if datetime string was yesterday

_configDelete()

Deletes a single config key.

protected _configDelete(string $key) : void
Parameters
$key : string

Key to delete.

Tags
throws
CakeException

if attempting to clobber existing config

_configRead()

Reads a config key.

protected _configRead(string|null $key) : mixed
Parameters
$key : string|null

Key to read.

_configWrite()

Writes a config key.

protected _configWrite(array<string, mixed>|string $key, mixed $value[, string|bool $merge = false ]) : void
Parameters
$key : array<string, mixed>|string

Key to write to.

$value : mixed

Value to write.

$merge : string|bool = false

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

Tags
throws
CakeException

if attempting to clobber existing config

_confirm()

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

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

Code to be executed after user chose 'OK'

$cancelCode : string

Code to be executed after user chose 'Cancel'

Return values
string —

"onclick" JS code

_getTimezone()

Get a timezone.

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

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

Parameters
$timezone : DateTimeZone|string|null

The override timezone if applicable.

Return values
DateTimeZone|string|null —

The chosen timezone or null.


        
On this page

Search results