/**
* {@inheritdoc}
*/
public static function valueCallback(&
$element,
$input, FormStateInterface
$form_state) { $element +=
['#date_timezone' =>
date_default_timezone_get()];
if ($input !== FALSE
) { $date_input =
$element['#date_date_element'
] != 'none' && !
empty($input['date'
]) ?
$input['date'
] : '';
$time_input =
$element['#date_time_element'
] != 'none' && !
empty($input['time'
]) ?
$input['time'
] : '';
$date_format =
$element['#date_date_element'
] != 'none' ?
static::
getHtml5DateFormat($element) : '';
$time_format =
$element['#date_time_element'
] != 'none' ?
static::
getHtml5TimeFormat($element) : '';
// Seconds will be omitted in a post in case there's no entry.
if (!
empty($time_input) &&
strlen($time_input) == 5
) { $time_input .= ':00';
} try { $date_time_format =
trim($date_format . ' ' .
$time_format);
$date_time_input =
trim($date_input . ' ' .
$time_input);
$date = DrupalDateTime::
createFromFormat($date_time_format,
$date_time_input,
$element['#date_timezone'
]);
}