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.

Cake\View\Widget\DateTimeWidget implements Cake\View\Widget\WidgetInterface

Properties summary

Method Summary

Method Detail

__construct()source 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()source protected

_adjustValue( integer $value , array $options )

Adjust $value based on rounding settings.

Parameters

integer $value
The value to adjust.
array $options
The options containing interval and possibly round.

Returns

integer
The amount to adjust $value by.

_daySelect()source protected

_daySelect( array $options , Cake\View\Form\ContextInterface $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()source protected

_deconstructDate( string|integer|array|DateTime|null $value , array $options )

Deconstructs the passed date value into all time units

Parameters

string|integer|array|DateTime|null $value
Value to deconstruct.
array $options
Options for conversion.

Returns

array

_generateNumbers()source protected

_generateNumbers( integer $start , integer $end , array $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

integer $start
Start of the range of numbers to generate
integer $end
End of the range of numbers to generate
array $options optional []
Options list.

Returns

array

_getMonthNames()source protected

_getMonthNames( boolean $leadingZero false )

Returns a translated list of month names

Parameters

boolean $leadingZero optional false
Whether to generate month keys with leading zero.

Returns

array

_hourSelect()source protected

_hourSelect( array $options , Cake\View\Form\ContextInterface $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()source protected

_meridianSelect( array $options , Cake\View\Form\ContextInterface $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()source protected

_minuteSelect( array $options , Cake\View\Form\ContextInterface $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()source protected

_monthSelect( array $options , Cake\View\Form\ContextInterface $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()source protected

_normalizeData( array $data )

Normalize data.

Parameters

array $data
Data to normalize.

Returns

array
Normalized data.

_secondSelect()source protected

_secondSelect( array $options , Cake\View\Form\ContextInterface $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()source protected

_yearSelect( array $options , Cake\View\Form\ContextInterface $context )

Generates a year select

Parameters

array $options
Options list.
Cake\View\Form\ContextInterface $context
The current form context.

Returns

string

render()source 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.

Implementation of

Cake\View\Widget\WidgetInterface::render()

secureFields()source 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.

Implementation of

Cake\View\Widget\WidgetInterface::secureFields()

Properties detail

$_selectsource

protected Cake\View\Widget\SelectBoxWidget

Select box widget.

$_selectssource

protected array

List of inputs that can be rendered

[
    'year',
    'month',
    'day',
    'hour',
    'minute',
    'second',
    'meridian',
]

$_templatessource

protected Cake\View\StringTemplate

Template instance.

© 2005–2018 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.5/class-Cake.View.Widget.DateTimeWidget.html