format(static::FORMAT); } public static function str2time($input) { if (!is_string($input)) { return null; } try { $time = new DateTime($input); if ($time->format(static::FORMAT) !== $input) { return null; } return $time; } catch (Exception $e) { return null; } } public static function time2str(DateTime $time) { return $time->format(static::FORMAT); } /** * @var DateTime|string $time */ public static function userFriendlyFormat($time) { try { if (!($time instanceof DateTime)) { $time = new DateTime($time); } if ($time->format('Y') === self::$time_now->format('Y')) { return $time->format(static::FORMAT_CURRENT_YEAR); } else { return $time->format(static::FORMAT_NOT_CURRENT_YEAR); } } catch (Exception $e) { return ''; } } }