protected function createComponentForm()

$form = new Form();
$form->addDate('date', 'Date', DateInput::TYPE_DATE)
		->addRule(Form::VALID);
$form->addDate('datetime', 'Datetime', DateInput::TYPE_DATETIME)
		->setDefaultValue(new DateTime())
		->addRule(Form::RANGE, null, array(new DateTime('-1 month'), new DateTime('+1 month')));
$form->addDate('datetimeLocal', 'Local datetime', DateInput::TYPE_DATETIME_LOCAL)
		->setDefaultValue(new DateTime())
		->addRule(Form::RANGE, null, array(new DateTime('-2 years'), new DateTime('+2 years')));
$form->addDate('month', 'Month', DateInput::TYPE_MONTH);
$form->addDate('week', 'Week', DateInput::TYPE_WEEK)
		->setDefaultValue(new DateTime())
		->addRule(Form::RANGE, null, array(new DateTime('-1 year'), new DateTime('+6 months')));
$form->addDate('time', 'Time', DateInput::TYPE_TIME)
		->setDefaultValue(new DateTime('noon'));
$form->addSubmit('send', 'Send');
return $form;

{control form}

$form->getValues()

type=date

NULL

type=datetime

DateTime #9a52
date => "2018-05-22 05:46:16.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=datetime-local

DateTime #9e53
date => "2018-05-22 05:46:16.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=month

NULL

type=week

DateTime #449d
date => "2018-05-22 05:46:16.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=time

DateTime #353c
date => "2018-05-22 12:00:00.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)