protected function asDateTime($value)
{
// If this value is an MongoDate, format a Carbon object from this instance.
if ($value instanceof MongoDate) {
return Carbon::createFromTimestamp($value->sec);
} elseif (is_numeric($value)) {
return Carbon::createFromTimestamp($value);
} elseif (preg_match('/^(\\d{4})-(\\d{2})-(\\d{2})$/', $value)) {
return Carbon::createFromFormat('Y-m-d', $value);
} elseif (!$value instanceof DateTime) {
$format = $this->getDateFormat();
return Carbon::createFromFormat($format, $value);
}
return Carbon::instance($value);
}