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.
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
Acceptsup
ordown
. 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