function diff_days($fecha_ini, $fecha_fin) { list($anio_ini, $mes_ini, $dia_ini) = parte_fecha($fecha_ini); list($anio_fin, $mes_fin, $dia_fin) = parte_fecha($fecha_fin); if ($fecha_ini < $fecha_fin) { echo "<br>Fecha inicial -> <b>" . $fecha_ini . "</b><br>"; echo "Fecha final -> <b>" . $fecha_fin . "</b><br>"; get_festivos($anio_ini); $calendario = (mktime(0, 0, 0, $mes_fin, $dia_fin, $anio_fin) - mktime(0, 0, 0, $mes_ini, $dia_ini, $anio_ini)) / (24 * 60 * 60); for ($i = 1; $i <= $calendario; $i++) { $fecha_new = date("Y-m-d", mktime(0, 0, 0, $mes_ini, $dia_ini, $anio_ini) + 1 * 24 * 60 * 60); list($anio_ini, $mes_ini, $dia_ini) = parte_fecha($fecha_new); $fiesta = es_festivo($dia_ini, $mes_ini, $anio_ini); if ($fiesta == 1) { $festivos += 1; } } $habil = $calendario - $festivos; echo "No. de dias habiles <b>" . $habil . "</b><br>"; echo "No. de dias festivos <b>" . $festivos . "</b><br>"; echo "No. de dias calendario <b>" . $calendario . "</b><br><br>"; } else { echo "La fecha inicial debe ser menor a la fecha final"; } }
$day_now = $now["mday"]; $month_now = $now["mon"]; $year_now = $now["year"]; $date_now = date("Y-m-d", mktime(0, 0, 0, $month_now, $day_now, $year_now)); // $fecha_ini = suma_dias($fecha_ini, 365, $habil); $fecha_fin = suma_dias($fecha_ini, $termino, $habil); if ($termino == 0) { $fecha_fin = $fecha_ini; } list($anio_ini, $mes_ini, $dia_ini) = parte_fecha($fecha_ini); list($anio_fin, $mes_fin, $dia_fin) = parte_fecha($fecha_fin); $dias = floor((mktime(0, 0, 0, $mes_fin, $dia_fin, $anio_fin) - mktime(0, 0, 0, $month_now, $day_now, $year_now)) / (24 * 60 * 60)); $fiestas = 0; for ($i_add = 1; $i_add <= $dias; $i_add++) { $fecha_new = date("Y-m-d", mktime(0, 0, 0, $month_now, $day_now, $year_now) + 1 * 24 * 60 * 60); list($year_now, $month_now, $day_now) = parte_fecha($fecha_new); $fiesta = es_festivo($day_now, $month_now, $year_now); if ($fiesta == 1) { $fiestas++; ${$dias}++; } } if ($habil == 1) { $dias = $dias - $fiestas; } if ($dias <= $amarilla && $dias > $roja) { $msj = "Falta(n)<br><b><u>" . $dias . "</u></b> dia(s)"; $class_div = 'alerta_amarilla'; } elseif ($dias <= $roja) { if ($dias < 0) { $msj = "Sobrepaso<br><b><u>" . abs($dias) . "</u></b> dia(s)";