$days = 0 lo puse en caso de que no ingreses nada a la función, no va a dar error. (Es un parámetro por defecto)
$dt->modify("+ $days day");
Y esta línea lo que hace es sumar días a la fecha actual
+ 1 day por ejemplo en formato inglés. Puedes sumar semanas por ejemplo así: + 1 week
Pues yo le creo más a PHP que a cualquier página, para mí esa fecha es domingo.
Ese condicional no hacía falta por eso te la puse así:
Código PHP:
Ver original<?php
function weekDayPlus($data, $days = 0) {
$dt = new DateTime($data);
$dt->modify("+ $days day");
$dw = $dt->format('N');
$bdata = array(1 => 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'); return $bdata[$dw] . ' ' . $dt->format('d-m-Y');
}
echo weekDayPlus('01-01-1583', 0);
No va a dar error si sumas cero días, ya que sería la misma fecha que le pasas.
También puede que tengas razón. Según leí en esa época hubo un retraso astronómico. Así que... puede que sea sábado. Habría que consultar más ese tema. Lo curioso que me parece de este tema es que buscando "
Los días que nunca existieron" sale el que te da problema.
Cita: El porqué de este hecho tiene su explicación en la instauración de un calendario nuevo, vigente hasta nuestros días y denominado gregoriano
Que rollo este tema, yo lo trabajaría como lo trabaja la clase DateTime de PHP.
Saludos.