Newsgroup: it.comp.lang.javascript
Titolo: somma di giorni a una data

mi trovo ad avere un textbox document.getElementById("mskDT_ING2").value
che contiene il valore di una data nel formato "dd/mm/yyyy", ora vorrei
sommargli tipo 40 giorni, come faccio a fare tale tipo di operazione?
grazie a tutti
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 sommargli tipo 40 giorni, come faccio a fare tale tipo di operazione?
Se cerchi con google trovi la soluzione, è stato richiesto spessissimo.
Qua un esempio fatto al volo (verifica che siano 40 giorni e non 39 o 41):
http://www.criosoftware.it/AddDay.htm
Stiamo dando ovviamente per scontato che la sintassi in input sia
*esattamente* quella che indichi te (dd/mm/yyyy, di 10 caratteri,
comprensivo quindi di eventuali zeri), altrimenti temo segnali errore o
magari un NaN
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.
--

 
http://www.criosoftware.it/AddDay.htm
Guarda un po' cosa dice la reference riguardo il setDate; e capirai perche'
il tuo script ha un comportamento anomalo.
-- 
ZER0://coder.gfxer.web-designer/
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 grazie a tutti
Ammettendo che il formato del campo sia bene o male corretto (se ti
interessa, basta fare qualche controllo in piu'):
var _a=document.getElementById("mskDT_ING2").value.split("/"),
	pDate=new Date(_a[2],_a[1]-1,_a[0]);
pDate.setTime(pDate.getTime()+40*86400000);
N.B.
86400000 e' il numero di millisecondi presenti in un giorno (24*60*60*1000)
A questo punto hai un oggetto data col quale puoi fare altre operazioni, se
necessiti.
Se vuoi invece ottenere una stringa in formato dd/mm/yyyy, basta che tu
estrapoli i vari dati:
var
szDate=pDate.getDate()+"/"+(pDate.getMonth()+1)+"/"+pDate.getFullYear();
alert(szDate);
A meno di non aver commesso errori mentre ti rispondevo, dovrebbe andare.
BTW, la logica e' questa.
-- 
ZER0://coder.gfxer.web-designer/
~ "Lo dice il buon senso, ma il buon senso non e' uno standard".
(Jeffrey Zeldman)

 il tuo script ha un comportamento anomalo.
Visto, 'azz che fregatura...ma a cosa serve un comportamento simile?
Ho usato setDate() perché lo avevo visto usare tempo fa nel newsgroup e mi
sembrava simpatico; vabbè, sono tornato allo standard getTime(); per
DanoSoft: vedi adesso il link che ti ho indicato, dovrebbe esser giusto.


 Ho usato setDate() perché lo avevo visto usare tempo fa nel newsgroup 
Beh, si, ma dipende per cosa lo usi o come lo usi.
Principalmente serve a cambiare il giorno della data, quindi se ad esempio
vuoi impostare la data corrente al primo del mese ti basta fare:
var d=new Date();
d.setDate(1);
Come vedi risulta molto comodo.
Puoi anche usarlo per aggiungere giorni alla data corrente, ma devi
recuperarli. Una cosa cosi' dovrebbe funzionare:
d.setDate(d.getDate()+40);
Io sinceramente son tornato all'uso di getTime per un semplice discorso di
versatilita' e manipolazione dell'oggetto data su vari linguaggi.
Tra l'altro, una volta mi pare di essere incappato anche io in un uso
sbagliato del metodo setDate.
-- 
ZER0://coder.gfxer.web-designer/
~ I feel like I'm diagonally parked in a parallel universe.

 sbagliato del metodo setDate.
Ohohohohohohoh Zer0 che erra!!! Questa me la appendo sul muro accanto alla
scrivania!!! ;)
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.
--

 scrivania!!! ;)
Errare e' umano, e seppur parzialmente, umano lo sono anch'io.. :P indi per
cui capita che sbagli.. ;) (poi dipende dal contesto: condizioni
psicofisiche o campo di applicazione: ad esempio, nei rapporti
interpersonali con le persone a cui tengo, faccio errori a "a nastro".. )
-- 
ZER0://coder.gfxer.web-designer/
~ Le donne si dividono in 4 categorie: le suore (non la danno a nessuno);
le puttane (la danno a tutti); le stronze (la danno a tutti tranne che a
te);
le rompiballe (la danno a te e solo a te).

 Errare e' umano, e seppur parzialmente, umano lo sono anch'io.. :P 
ROTFL !
