Example #1
0
 /**
  * @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;
 }