Les dejo un código que desarrollé en PHP para que me compruebe si una fecha en formato "Y-m-d" es un festivo en Colombia o no.
Como la mayoría sabe, los festivos de algunos paises (en especial de latinoamérica) son variables, algunos son fijos y algunos dependen del cálculo de la pascua (Computus). Para ello usé dos funciones, una de estas la saqué de [URL="http://es.wikipedia.org/wiki/Anexo:Implementaciones_del_algoritmo_de_c%C3%A1lcu lo_de_la_fecha_de_Pascua#Algoritmo_en_PHP"]aquí[/URL].
No está muy pulido el código así que recibo sugerencias.
Espero que les sirva.
Código PHP:
   <?php
$date_request=$_REQUEST['date'];
$anio_act = date("Y");
$pascua_actual = pascua($anio_act);
$arr_fechas = array(
$anio_act."-01-01",
get_next_day($anio_act."-01-06"),
get_next_day($anio_act."-03-19"),
date("Y-m-d", strtotime("$pascua_actual -7 days")),
date("Y-m-d", strtotime("$pascua_actual -3 days")),
date("Y-m-d", strtotime("$pascua_actual -2 days")),
$pascua_actual,
$anio_act."-05-01",
date("Y-m-d", strtotime("$pascua_actual +43 days")),
date("Y-m-d", strtotime("$pascua_actual +64 days")),
date("Y-m-d", strtotime("$pascua_actual +71 days")),
get_next_day($anio_act."-06-29"),
$anio_act."-07-20",
$anio_act."-08-07",
get_next_day($anio_act."-08-15"),
get_next_day($anio_act."-10-12"),
get_next_day($anio_act."-11-01"),
get_next_day($anio_act."-11-11"),
$anio_act."-12-08",
$anio_act."-12-25"
);
if($date_request!=null){
    $dc_dreq = date_create($date_request);
    $tday = date_format($dc_dreq,"w");
    if($tday==0){
        echo "Sunday";
    }elseif($tday>0 && in_array($date_request,$arr_fechas)){
        echo "Holiday";
    }else{
        echo date("l", strtotime("$date_request"));
    }
}else{
    print_r($arr_fechas);
}
 
function get_next_day($datebase){
    $dc_date = date_create($datebase);
    $nday = date_format($dc_date,"w");
    $nday = intval($nday);
    if($nday==0){
        return date("Y-m-d", strtotime("$datebase +1 days"));
    }elseif($nday==1){
        return $datebase;
    }elseif($nday>1){
        $add_days = 8-$nday;
        return  date("Y-m-d", strtotime("$datebase +$add_days days"));
    }
}
 
function pascua ($anno){
# Constantes mágicas
    $M = 24;
    $N = 5;
#Cálculo de residuos
    $a = $anno % 19;
    $b = $anno % 4;
    $c = $anno % 7;
    $d = (19*$a + $M) % 30;
    $e = (2*$b+4*$c+6*$d + $N) % 7;
# Decidir entre los 2 casos:
    if ( $d + $e < 10 ) {
        $dia = $d + $e + 22;
        $mes = 3; // marzo
        }
    else {
        $dia = $d + $e - 9;
        $mes = 4; //abril
        }
# Excepciones especiales (según artículo)
    if ( $dia == 26  and $mes == 4 ) { // 4 = abril
        $dia = 19;
        }
    if ( $dia == 25 and $mes == 4 and $d==28 and $e == 6 and $a >10 ) { // 4 = abril
        $dia = 18;
        }
    $ret = date("Y-m-d",strtotime($anno.'-'.$mes.'-'.$dia));
        return ($ret);
}
?>     
 
 Calculadora de días festivos Colombia
 Calculadora de días festivos Colombia 

