allora .. io devo tornare al giorno della settiman dell'amnno scorso. e fin qui ci siamo .. ora .. se uso la funzione date tutto ok, ma se voglio arbitrariamente passare dei valori mi da i numeri tutto. ecco il mio codice ..
non l'ho pulito da tutti gli echo che avevo messo per debug,
ma diciamo che si capisce .. allora io passo le var $anno, $mese, $giorno in maniera arbitraria come ho gia detto, le passo per fare un timestamp ma a stop punto nada, puo' darsi che sia na stupidaggine, ma a me non pare.
grazie a chiunque voglia darmi una manottola 

codice:
setlocale (LC_TIME, "ita_ITA");
if (!strftime ("%d", mktime(0,0,0, date('2'), date('29'), $anno - 1))) {
$giorno_query_AS-passato = strftime ("%d", mktime(0,0,0, $mese, $giorno+2,$anno - 1));
} else {
$giorno_query_AS-passato = strftime ("%d", mktime(0,0,0, $mese, $giorno+1, $anno - 1));
}
if ($giorno >= $giorno_query_AS-passato ){
$mese_query_AS-passato_pre = ($mese + 1);
//echo $mese_query_AS-passato_pre;
if (strlen($mese_query_AS-passato_pre) == 1) {
$mese_query_AS-passato = "0".$mese_query_AS-passato_pre."";
}
} else {
$mese_query_AS-passato = ($mese);
}
$anno_query_AS-passato = ($anno- 1901);
//echo $mese_query_AS-passato;
$data_query_AS-passato = $anno_query_AS-passato."".$mese_query_AS-passato."".$giorno_query_AS-passato;
// echo $data_query_AS-passato;
//$nextyear = mktime(0, 0, 0, $mese, $giorno, $anno -1);
if ($_SERVER['REMOTE_USER'] == "bdm") {
echo "data query AS-passato : ".$data_query_AS-passato."
";
}