DateTime a redirect s date

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MW
Člen | 626
+
0
-

Zdravím a prosím o radu, nejak jsem se zacyklil :-(

Vypisuji nejaka data a pridal jsem si jednoduchy filtr na datum.
Problém je, ze me form hodi do url, cely objekt Datetime., tedy i Timezone atd..

Neprisel jsem na to, jak spravne v submit metode z toho udelat pouze date tedy yyyy-mm-dd.

Nebo na to jdu blbe?

Predem diky !

protected function createComponentHistorydate($name) {
	$form = new Form($this, $name);
	$form->addDatePicker('historydate', 'Ke dni:')->setDefaultValue($this->getParameter('historydate'));
	$form->addHidden('mrp')->setDefaultValue($this->getParam('mrp'));
	$form->addSubmit("o", "Odeslat");
	$form->onSuccess[] = array($this, "history_submit");
    }

    public function history_submit($form) {
	$this->redirect("this", (array) $form->getValues());
    }
s4muel
Člen | 92
+
0
-

aky datepicker plugin pouzivas?

nestaci ti povedzme len zmenit format datumu? http://api.jqueryui.com/datepicker/#…

leninzprahy
Člen | 150
+
0
-

Používám přetypování, záleží jestli potřebuješ jen datum, nebo i čas (to bude asi lepší posílat timestamp)
něco jako

public function history_submit($form) {
	$values = $form->getValues();
	$values->historydate = $values->historydate->format('Y-m-d'); //případně ->historydate->getTimestamp();
	$this->redirect("this", (array) $values);
}

nevím jaký používáš datePicker, možná bude ještě potřeba při nastavování defaultní hodnoty z toho udělat DateTime, třeba takto:

->setDefaultValue(\Nette\DateTime::from($this->getParameter('historydate')));
MW
Člen | 626
+
0
-

To bude ono…
Diky !!!!