Class DateTimeWidget

Input widget class for generating a date time input widget.

This class is intended as an internal implementation detail of Cake\View\Helper\FormHelper and is not intended for direct use.

Namespace: Cake\View\Widget

Properties summary

  • $_select protected
    \Cake\View\Widget\SelectBoxWidget

    Select box widget.

  • $_selects protected
    string[]

    List of inputs that can be rendered

  • $_templates protected
    \Cake\View\StringTemplate

    Template instance.

Method Summary

Method Detail

__construct() public

__construct(\Cake\View\StringTemplate $templates, \Cake\View\Widget\SelectBoxWidget $selectBox)

Constructor

Parameters

\Cake\View\StringTemplate $templates

Templates list.

\Cake\View\Widget\SelectBoxWidget $selectBox

Selectbox widget instance.

_adjustValue() protected

_adjustValue(mixed $value, mixed $options)

Adjust $value based on rounding settings.

Parameters

int $value

The value to adjust.

array $options

The options containing interval and possibly round.

Returns

int

The amount to adjust $value by.

_daySelect() protected

_daySelect(mixed $options, mixed $context)

Generates a day select

Parameters

array $options

The options to generate a day select with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_deconstructDate() protected

_deconstructDate(mixed $value, mixed $options)

Deconstructs the passed date value into all time units

Parameters

string|int|array|\DateTime|null $value

Value to deconstruct.

array $options

Options for conversion.

Returns

array

_generateNumbers() protected

_generateNumbers(mixed $start, mixed $end, mixed $options)

Generates a range of numbers

Options

  • leadingZeroKey - Set to true to add a leading 0 to single digit keys.
  • leadingZeroValue - Set to true to add a leading 0 to single digit values.
  • interval - The interval to generate numbers for. Defaults to 1.

Parameters

int $start

Start of the range of numbers to generate

int $end

End of the range of numbers to generate

array $options optional

Options list.

Returns

array

_getMonthNames() protected

_getMonthNames(mixed $leadingZero)

Returns a translated list of month names

Parameters

bool $leadingZero optional

Whether to generate month keys with leading zero.

Returns

array

_hourSelect() protected

_hourSelect(mixed $options, mixed $context)

Generates a hour select

Parameters

array $options

The options to generate an hour select with

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_meridianSelect() protected

_meridianSelect(mixed $options, mixed $context)

Generates a meridian select

Parameters

array $options

The options to generate a meridian select with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_minuteSelect() protected

_minuteSelect(mixed $options, mixed $context)

Generates a minute select

Parameters

array $options

The options to generate a minute select with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_monthSelect() protected

_monthSelect(mixed $options, mixed $context)

Generates a month select

Parameters

array $options

The options to build the month select with

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_normalizeData() protected

_normalizeData(mixed $data)

Normalize data.

Parameters

array $data

Data to normalize.

Returns

array

Normalized data.

_secondSelect() protected

_secondSelect(mixed $options, mixed $context)

Generates a second select

Parameters

array $options

The options to generate a second select with

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

_yearSelect() protected

_yearSelect(mixed $options, mixed $context)

Generates a year select

Parameters

array $options

Options list.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

render() public

render(array $data, \Cake\View\Form\ContextInterface $context)

Renders a date time widget

  • name - Set the input name.
  • disabled - Either true or an array of options to disable.
  • val - A date time string, integer or DateTime object
  • empty - Set to true to add an empty option at the top of the option elements. Set to a string to define the display value of the empty option.

In addition to the above options, the following options allow you to control which input elements are generated. By setting any option to false you can disable that input picker. In addition each picker allows you to set additional options that are set as HTML properties on the picker.

  • year - Array of options for the year select box.
  • month - Array of options for the month select box.
  • day - Array of options for the day select box.
  • hour - Array of options for the hour select box.
  • minute - Array of options for the minute select box.
  • second - Set to true to enable the seconds input. Defaults to false.
  • meridian - Set to true to enable the meridian input. Defaults to false. The meridian will be enabled automatically if you choose a 12 hour format.

The year option accepts the start and end options. These let you control the year range that is generated. It defaults to +-5 years from today.

The month option accepts the name option which allows you to get month names instead of month numbers.

The hour option allows you to set the following options:

  • format option which accepts 12 or 24, allowing you to indicate which hour format you want.
  • start The hour to start the options at.
  • end The hour to stop the options at.

The start and end options are dependent on the format used. If the value is out of the start/end range it will not be included.

The minute option allows you to define the following options:

  • interval The interval to round options to.
  • round Accepts up or down. Defines which direction the current value should be rounded to match the select options.

Parameters

array $data

Data to render with.

\Cake\View\Form\ContextInterface $context

The current form context.

Returns

string

A generated select box.

Throws

RuntimeException
When option data is invalid.

secureFields() public

secureFields(array $data)

Returns a list of fields that need to be secured for this widget.

When the hour picker is in 24hr mode (null or format=24) the meridian picker will be omitted.

Parameters

array $data

The data to render.

Returns

array

Array of fields to secure.

Property Detail

$_select protected

Select box widget.

Type

\Cake\View\Widget\SelectBoxWidget

$_selects protected

List of inputs that can be rendered

Type

string[]

$_templates protected

Template instance.

Type

\Cake\View\StringTemplate

© 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.Widget.DateTimeWidget.html