{source}

<?php 
setlocale(LC_TIME, 'es_ES.utf8'); 

function obtenerNombreMes($numeroMes) {
    $meses = array(
        1 => 'enero',
        2 => 'febrero',
        3 => 'marzo',
        4 => 'abril',
        5 => 'mayo',
        6 => 'junio',
        7 => 'julio',
        8 => 'agosto',
        9 => 'septiembre',
        10 => 'octubre',
        11 => 'noviembre',
        12 => 'diciembre'
    );
    
    return $meses[$numeroMes];
}

$fecha = new DateTime();
$numeroMes = (int) $fecha->format('n');
$nombreMes = obtenerNombreMes($numeroMes);

echo '<p style="font-size: 20px;"><b>Noticias de otros '.$fecha->format('d \d\e').' '.$nombreMes.', que ya forman parte de nuestra historia informativa.</b></p>'; 
?>

{/source}

Comenzamos por las más antiguas:

{source}

<?php
use Joomla\CMS\Factory;
use Joomla\CMS\Database\DatabaseDriver;

// Obtener la instancia de la base de datos
$db = Factory::getDbo();

// Consulta SQL
$query = $db->getQuery(true);
$query->select($db->quoteName(array('id', 'created', 'title', 'catid')))
    ->from($db->quoteName('#__content'))
    ->where("DATE_FORMAT(created, '%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 YEAR), '%m-%d')")
    ->order($db->quoteName('created') . ' ASC');

// Ejecutar consulta
$db->setQuery($query);
$results = $db->loadObjectList();

// Recorrer resultados
foreach ($results as $article) {

    // Año de publicación
    $year = substr($article->created, 0, 4);

    // Calcular diferencia de años
    $now = date('Y');
    $diff = $now - $year;

    // Obtener el enlace a la noticia
    $articleLink = JRoute::_('index.php?option=com_content&view=article&id=' . $article->id);

    // Obtener el nombre de la categoría
    $query = $db->getQuery(true);
    $query->select($db->quoteName('title'))
        ->from($db->quoteName('#__categories'))
        ->where($db->quoteName('id') . ' = ' . (int)$article->catid);
    $db->setQuery($query);
    $categoryName = $db->loadResult();

    // Formato de salida con enlace, año, diferencia de años y nombre de categoría
    echo '<strong>' . $year . '</strong>, hace <strong>' . $diff . ' años</strong>, ' . $categoryName . ', <a href="' . $articleLink . '">' . $article->title . '</a><br>';
}
?>

 

{/source}

 

 

{source}

<meta charset='utf-8'>
<?php
setlocale(LC_TIME, 'es_ES.UTF-8');
$fecha = new DateTime();
$formatter = new IntlDateFormatter('es_ES', IntlDateFormatter::NONE, IntlDateFormatter::NONE, null, null, "'Notas para los' d 'de' MMMM");
echo '<span style="font-size: 18px; font-weight: bold;">' . $formatter->format($fecha) . '</span>';
?>

{/source}

1.- La información que se publicó este día puede ser anuncio de un acontecimiento posterior, o de una información anterior.
2.- Alguno de los enlaces pueden que no estén operativos, o sean erróneos, porque hayan caducado, eliminado por quien lo facilitó, o hayan dejado de tener operatividad.
3.- Pueden que aparezcan noticias con un día de diferencia, anterior o posterior, por la diferencia horaria GMT, o del servidor.
4.- Agradeceremos nos informen de cualquier anomalía detectada, enlaces rotos, fotos y vídeos que no aparecen, de formatos erróneos, etc., para subsanarlos, enviando nota a la redacción desde aquí, indicando (copiando y pegando) el título exacto al que hace referencia, o a nuestro número de Telegram.
Quedaremos agradecidos. 

 

{source}

<meta charset='utf-8'>
<?php
$fecha = new DateTime();

// Arrays para mapear nombres de días de la semana y meses en español
$diasSemana = [
    1 => 'lunes',
    2 => 'martes',
    3 => 'miércoles',
    4 => 'jueves',
    5 => 'viernes',
    6 => 'sábado',
    7 => 'domingo'
];

$meses = [
    1 => 'enero',
    2 => 'febrero',
    3 => 'marzo',
    4 => 'abril',
    5 => 'mayo',
    6 => 'junio',
    7 => 'julio',
    8 => 'agosto',
    9 => 'septiembre',
    10 => 'octubre',
    11 => 'noviembre',
    12 => 'diciembre'
];

$diaSemana = $diasSemana[(int)$fecha->format('N')]; // Obtener el nombre del día de la semana en español
$diaMes = $fecha->format('d');
$nombreMes = $meses[(int)$fecha->format('n')]; // Obtener el nombre del mes en español
$año = $fecha->format('Y');
$hora = $fecha->format('H:i');

echo "<span style='font-size: 18px; font-weight: bold;'>Hoy es $diaSemana, $diaMes de $nombreMes de $año, son las $hora.</span>";
?>

{/source}