Только лишнего много на мой взгляд.
На вот попроще, офсет, и завтра:послезавтра сам приделаешь))
function time_to_data($unixtime)
{
$dat1 = date("Y-m-d H:i:s", $unixtime);
$months = [
'01'=>'января',
'02'=>'февраля',
'03'=>'марта',
'04'=>'апреля',
'05'=>'мая',
'06'=>'июня',
'07'=>'июля',
'08'=>'августа',
'09'=>'сентября',
'10'=>'октября',
'11'=>'ноября',
'12'=>'декабря'
];
return preg_replace_callback('/(\d{4})-(\d{2})-(0(\d)|([^0]\d)) (\d{2})\d{2})\d{2})/u',
function ($m) use ($months) {
return $m[4] . $m[5] . ' ' . $months[$m[2]] . ' ' . $m[1] . ' ' . $m[6] . ':' . $m[7] . ':' . $m[8];
}, $dat1);
}