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."
";
}