Thanks bpat for your code was really usefull for solving my problem.
This is what i did.
//test call
//ano: year
//mes: month
//dia: day
//hora:hour
//minuto: minute
//inicio: start
//termino: end
$ano_inicio = "2005";
$mes_inicio = "03";
$dia_inicio = "06";
$hora_inicio = "15";
$minuto_inicio = "00";
$ano_termino = "2005";
$mes_termino = "03";
$dia_termino = "07";
$hora_termino = "07";
$minuto_termino = "00";
//end test call
//non working array
$non_working = array(
'Monday' => array('inicio1' => mktime(0, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino1' => mktime(6, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'inicio2' => mktime(18, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino2' => mktime(6, 0, 0, $mes_inicio, $dia_inicio +1, $ano_inicio)),
'Tuesday' => array('inicio1' => mktime(0, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino1' => mktime(6, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'inicio2' => mktime(18, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino2' => mktime(6, 0, 0, $mes_inicio, $dia_inicio +1, $ano_inicio)),
'Wednesday' => array('inicio1' => mktime(0, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino1' => mktime(6, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'inicio2' => mktime(18, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino2' => mktime(6, 0, 0, $mes_inicio, $dia_inicio +1, $ano_inicio)),
'Thursday' => array('inicio1' => mktime(0, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino1' => mktime(6, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'inicio2' => mktime(18, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino2' => mktime(6, 0, 0, $mes_inicio, $dia_inicio +1, $ano_inicio)),
'Friday' => array('inicio1' => mktime(0, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino1' => mktime(6, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'inicio2' => mktime(18, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino2' => mktime(6, 0, 0, $mes_inicio, $dia_inicio +1, $ano_inicio)),
'Saturday' => array('inicio1' => mktime(0, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino1' => mktime(6, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'inicio2' => mktime(14, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino2' => mktime(6, 0, 0, $mes_inicio, $dia_inicio +2, $ano_inicio)),
'Sunday'=> array('inicio1' => mktime(0, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino1' => mktime(6, 0, 0, $mes_inicio, $dia_inicio +1, $ano_inicio),
'inicio2' => mktime(0, 0, 0, $mes_inicio, $dia_inicio, $ano_inicio),
'termino2' => mktime(6, 0, 0, $mes_inicio, $dia_inicio +1, $ano_inicio))
);
//transform date of call in unix timestamp
$ts_inicio = mktime($hora_inicio, $minuto_inicio, 0, $mes_inicio, $dia_inicio, $ano_inicio);
$ts_termino = mktime($hora_termino, $minuto_termino, 0, $mes_termino, $dia_termino, $ano_termino);
if( ($ts_inicio >= $non_working[date("l", $ts_inicio)]['inicio1'] AND
$ts_termino < $non_working[date("l", $ts_inicio)]['termino1'])
OR
($ts_inicio >= $non_working[date("l", $ts_inicio)]['inicio2'] AND
$ts_termino < $non_working[date("l", $ts_inicio)]['termino2'] ))
{
echo "\n<br><br>Outside normal hours";
$dscto = 1;
}
else
{
echo "\n<br><br>Normal Work Hour";
$dscto = 0;
}
Thanks for the help.