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 #de1e
date => "2017-04-28 13:57:22.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=datetime-local

DateTime #7bbf
date => "2017-04-28 13:57:22.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=month

NULL

type=week

DateTime #9b92
date => "2017-04-28 13:57:22.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=time

DateTime #b1bf
date => "2017-04-28 12:00:00.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)