Newsgroup: it.comp.lang.javascript
Titolo: Date diverse

Salve a tutto il NG, grazie in anticipo a chi avrà la pazienza di 
rispondermi.
Il mio problema è questo: da una data iniziale che estraggo da un form devo 
estrapolare il primo e l'ultimo giorno della settimana.
quindi ho qualcosa del tipo
var Data= new Date(anno_sul_form,mese_sul_form,giorno_sul_form);
var DataInizioSettimana=new Date();
var FineSettimana=new Date();
DatainizioSettimana.setYear(Data.getFullyear);//anno
DataInizioSettimana.setMonth(Data.getMonth);//mese
DataInizioSettimana.setDate(data.getDate()-n);//(n=calcolo dei giorni da 
sotrarre)
FineSettimana.setYear(Data.getFullyear);//anno
FineSettimana.setMonth(Data.getMonth);//mese
FineSettimana.setDate(data.getDate() + n);//(n=calcolo dei giorni da 
sommare)
mi funziona tutto fino al primo giorno della settimana poi ho solo date 
delle quali non capisco il senso.
help me! 

 DataInizioSettimana.setMonth(Data.getMonth);//mese
getFullYear() e getMonth() sono metodi. In questo modo non li vai
ad invocare, quindi può darsi che le date strane fossero dovute a
questo fattore.
Se così non fosse, significa che ciò che sbagli è il valore di n,
che non hai specificato come vai a recuperarlo.
-- 
"Se c'è qualcosa di più importante del mio ego su questa nave,
la voglio catturata e fucilata."

Si ho inizializzato tutto tenendo conto del mese e settando il primo giorno 
come Lunedì e l'ultimo come Domenica (tenendo conto che  Gennaio e la 
Domenica hanno valore 0)
una volta recuperata dal Form la data che mi interessa sottraggo ,a seconda 
del getDay es :getDay ==3 >>  Data.setDate(Data.getDate()-2))
un valore a Data e aggiungo 6 a DataInizio così se per esempio ho un 
mercoledì 3 come Data, avrò un Lunedì 1 come DataInizio e Domenica 7 come 
DataFine.
Solo che se calcolo ad esempio oggi 2008-5-26 ho tre data corrette
Lun 26 5 2008 -Inizio(getDay==1 valore da sottrarre = 0)
lun 26 5 2008 -data estratta dal form
dom 1 6 2008 -data fine
se calcolo il 1-1-2008
 mi da:
lun 31 dic 2007 (ok)
mar 1 gen 2008(ok)
dom 6 febbraio !!!!!!!!!!
che fare?
spero di essere stato chiaro 

 dom 6 febbraio !!!!!!!!!!
Evidentemente non gli stai sommando il valore corretto. Per
intenderci:
	var anno = "2008", mese="1", giorno ="1";
	var Data = new Date( anno, mese - 1, giorno);
	var FineSettimana=new Date( Data );
	FineSettimana.setDate( Data.getDate()+6 )
	alert(FineSettimana)
Questo ha da funzionarti.
Se non ti funziona, è il tuo browser ad esser bacato. Se ti
funziona, allora non hai seguito il mio consiglio di andare
a duplicare la data, e/o il valore di "n" non è pari a "6",
con quella specifica data (1/1/2008).
-- 
~ "Solo i morti hanno visto la fine della guerra."
(Platone)

 TP/BP/Delphi/jscr/&c, FAQ items, links.

ok, ho risolto.
DataFine=new 
Date(InizioSettimana.getFullYear(),InizioSettimana.getMonth(),(InizioSettimana.getDate()+6);
ora però ho scoperto che tutto questo funziona solo su IE perchè su FireFox 
quando cerco di recuperare i dati dal form (MioForm.MioControllo.value) non 
ottengo assolutamente nulla.
Grazie comunque per l'aiuto sulle date.
 

 Grazie comunque per l'aiuto sulle date.
De nada.
-- 
~ "L'arte non riproduce cio' che e' visibile,ma rende visibile cio'
che non  sempre lo e'" (Paul Klee)

 document.forms["MioForm"].MioControllo.value
Grazie, ho corretto e funziona su entrambi i browser!