<?php class DateParserFilter extends \Twig_Extension { public function getFilters () { return array( new \Twig_SimpleFilter('parse_date', array($this, 'parseDate')) ); } public function parseDate ($string, $formats) { if (is_string($formats)) { $formats = array($formats); } foreach ($formats as $format) { $dateTime = \DateTime::createFromFormat($format, $string); if ($dateTime !== false) { return $dateTime; } } return $string; } public function getName () { return "parse_date"; } }