SOLUCIONADO.
Código Javascript
:
Ver original<script type="text/javascript">
var meses = new Array ("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
var f=new Date();
var tDia = new Date();
var ms = tDia - ((f.getDay()-1)*86400000);
const dateObj = new Date(ms);
var humanoDia = dateObj.toLocaleString("es-ES",{day: "numeric"});
var ms2 = ms+6*86400000;
const dateObjfin = new Date(ms2);
dateObjfin.toString();
var finSemana = dateObjfin.toLocaleString("es-ES",{day: "numeric"});
html="<h1>Has estado programando desde el lunes ";
html+=humanoDia;
html+=" hasta el domingo ";
html+=finSemana;
html+=" de ";
html+= meses[f.getMonth()];
html+="</h1> ";
document.getElementById("textoProgramacion").innerHTML=html;
</script>
Al tratarse de objetos tipo fecha no es necesario controlar si +finSemana es menor que 7 para poder calcular +humanoDia que es del mes anterior. Al tratar las fechas en milisegundos JS los convierte correctamente.