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 #e3d7
date => "2019-05-24 07:01:19.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=datetime-local

DateTime #7b65
date => "2019-05-24 07:01:19.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=month

NULL

type=week

DateTime #06df
date => "2019-05-24 07:01:19.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=time

DateTime #a8ea
date => "2019-05-24 12:00:00.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)