/** * Tests date string to see if it is in a recognized format. * @param string $date Date string to test. * @param array|null $formats Data formats to test. * @returns \DateTime * @throws ContentValidationException */ public static function validateDateString($date, $formats = null) { if ($formats == null) { $formats = array('Y-m-d', 'm/d/y', 'm/d/Y', 'n/j/y', 'n/j/Y', 'F d, Y', 'F j, Y', 'M d, Y', 'M j, Y'); } elseif (!is_array($formats)) { $formats = array($formats); } foreach ($formats as $format) { $d = Validation::_testDateFormat($date, $format); if ($d instanceof \DateTime) { return $d; } } throw new ContentValidationException("Unrecognized date value."); }