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 #9641
date => "2016-08-28 07:06:24.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=datetime-local

DateTime #1c9e
date => "2016-08-28 07:06:24.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=month

NULL

type=week

DateTime #de5e
date => "2016-08-28 07:06:24.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)

type=time

DateTime #a15e
date => "2016-08-28 12:00:00.000000" (26) timezone_type => 3 timezone => "Europe/Prague" (13)