I have to do an exercise to calculate how much has happened since January 1 to the date entered. They force me to use switch case and I can not use the function mktime()
, and I do not finish working the code that subtracts the dates. The error that gives me is the following: Edito , the teacher has indicated that I do it by extracting the month and adding the number of days, but it does not work for me:
HTML :
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"></head>
<title> Calendario</title>
<body>
<center><h3>Introduce una fecha en formato dd/mm/aa para saber cuánto ha transcurrido desde el 1 de enero de 2016:</h3></center>
<date-util format="dd/MM/yy"></date-util>
<form name="Formulario" method="post" action="ejercicio5.php">
<table>
<tr>
<td>
Fecha inicial:
</td>
</tr>
<tr>
<td><input type="date" name="fecha1" value="dd/MM/yy" required>
<input type="dare" name="fecha16" value="01/01/16">
</td>
<tr>
<td><input type="submit" name="Enviar">
<input type="reset" name="Reestablecer">
</td>
</tr>
</tr>
</table>
</form>
</body>
</html>
PHP :
<?php
//Definición de variables
$entrada = (string) $_POST['fecha1'];
$fechafija = (string) "2016-01-01";
echo "$entrada <br/>";
echo "$fechafija <br/>";
$diaentrada = substr($entrada, 8, 9);
$diafijo = substr($fechafija, 8, 9);
$mes = substr($entrada, 5, 6);
$numentrada = (int) $diaentrada;
$numfijo = (int) $diafijo;
//Ejercicio
echo "$numentrada y $numfijo el número de mes es $mes <br/>";
switch ($mes) {
case '1':
$dif = $diaentrada - $diafijo;
echo "Han pasado $dif días";
break;
case '2':
$dif2 = $diaentrada - $diafijo +28;
echo "han pasado $dif2 días";
break;
case '3':
$dif3 = $diaentrada - $diafijo +28+31;
echo "Han pasado $dif3 días";
break;
case '4':
$dif4 = $diaentrada - $diafijo +30+31+28;
echo "Han pasado $dif4 días";
break;
case '5':
$dif5 = $diaentrada - $diafijo +30+31+28+30;
echo "Han pasado $dif5 días";
break;
case '6':
$dif6 = $diaentrada - $diafijo +30+31+28+30+30;
echo "Han pasado $dif6 días";
break;
case '7':
$dif7 = $diaentrada - $diafijo +30+31+28+30+30+31;
echo "Han pasado $dif7 días";
break;
case '8':
$dif6 = $diaentrada - $diafijo +30+31+28+30+30+31+30;
echo "Han pasado $dif8 días";
break;
case '9':
$dif9 = $diaentrada - $diafijo +30+31+28+30+30+31+30+31;
echo "Han pasado $dif9 días";
break;
case '10':
$dif10 = $diaentrada - $diafijo +30+31+28+30+30+31+30+31+31;
echo "Han pasado $dif10 días";
break;
case '11':
$dif11 = $diaentrada - $diafijo +30+31+28+30+30+31+30+31+31+30;
echo "Han pasado $dif11 días";
break;
case '12':
$dif12 = $diaentrada - $diafijo +30+31+28+30+30+31+30+31+31+30+31;
echo "Han pasado $dif12 días";
break;
default:
echo "No funciono :D";
break;
}
?>