/** * Convert any value to date time. * * @param $value * * @return \DateTime|null */ protected function convertToDateTime($value) { if ($value instanceof \DateTime) { return clone $value; } if ($value instanceof \MongoDate) { $datetime = new \DateTime(); $datetime->setTimestamp($value->sec); return $datetime; } if (is_numeric($value)) { $datetime = new \DateTime(); $datetime->setTimestamp($value); return $datetime; } if (is_string($value) && !empty($value)) { $datetime = new \DateTime($value); return $datetime; } return; }