Не могу вывести переменную с датой (месяц). В чём проблема?
\DateTime::createFromFormat("d.m.Y в H:i", $dateStr);
Псевдоним: date_create_from_format.
И никаких махинаций с explode не надо.
По той же ссылке выйдете на примеры, как потом обратно в строку преобразовать, как работать с интервалами и как добраться до составных частей даты (год, день, месяц, час и тд).
Сделайте так:$date_parts_match = preg_match('~(\d+)\.(\d+)\.(\d+)[^\d]+([\d+]+)~ui',$news['date'],$date_parts);
if ($date_parts_match) {
$day['posted'] = date_parts[1];
$month['posted'] = date_parts[2];
$year['posted'] = date_parts[3];
$time['posted'] = date_parts[4];
}
else {
  //ошибка ! дата в каком-то дургом формате
}
https://3v4l.org/WbBkV