/** * {@inheritdoc} */ public function setValue($value) : parent { if ($value instanceof DateObject || $value instanceof DateTimeObject) { $value = $value->format('Y-m-d'); } elseif (is_string($value) && $value) { $date = new DateObject($value); $value = $date->format('Y-m-d'); } return parent::setValue($value); }
/** * @param \Cawa\Date\Date $date * * @return $this|self */ public function setMinimunDate(\Cawa\Date\Date $date) : self { $this->widgetOptions = array_merge_recursive($this->widgetOptions, ['minDate' => $date->format('Y-m-d')]); return $this; }
/** * @param string $type * @param $value * * @return null|DateTime */ private function parseDate(string $type, $value) { try { switch ($type) { case 'datetime': $datetime = DateTime::createFromFormat('Y-m-d\\TH:i:s', $value); break; case 'date': $datetime = Date::createFromFormat('Y-m-d', $value); break; case 'time': $datetime = Time::createFromFormat('H:i:s', $value); break; default: throw new \InvalidArgumentException(sprintf("Invalid parse date type '%s'", $type)); } } catch (\Exception $exception) { return null; } return $datetime; }