Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Aiuto operazioni con la data

    Vi spiego subito il mio problema.

    Io ho una data (es. 2004-11-23) in questo formato.
    E gli devo sommare un intervallo mensile (es. 24).

    Come faccio?

    Io ricevo entrambe i dati da un INPUT di Tipo TEXT.

    Allora con PHP utilizzavo la funzione mktime... in JS esiste qualcosa di simile??

    Grazie in Anticipo.

  2. #2
    Il risultato in questo caso è semplice perchè sarebbe 2006-11-23 ma se aggiungessi 2 (mesi) il risultato sarebbe 2005-02-23.

    Capito quello che voglio fare? Grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Capito e fattibile.

    Non esiste la funzione che fa tutto da se`, ma si puo` costruire.
    codice:
             // campo di input  
    var dd = document.NOMEFORM.NOMECAMPO.value.split(/\/\-\./);
    var di = new Date(dd[0], parseInt(dd[1],10)-1, dd[2]);
             // numero mesi da aggiungere
    var ma = parseInt(document.NOMEFORM.NOMECAMPO1.value, 10);
    dd.setMonth(dd.getMonth() + ma);
             // data out
    var do = ''+dd.getYear()+'-'+(dd.getMonth()+1)+'-'+dd.getDate();
    document.NOMEFORM.NOMECAMPO2.value = do;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    non funziona... mi da un errore quando provi a ricomporre la data.

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Messaggio troppo generico... :master: posta lo script ed il form cosi' come li hai adattati...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    var dd = last.value.split("-");
    var di = new Date(dd[0], parseInt(dd[1],10)-1, dd[2]);
    var ma = parseInt(interval.value, 10);
    dd.setMonth(dd.getMonth() + ma);
    //var do =dd.getYear()+'-'+(dd.getMonth()+1)+'-'+dd.getDate();

    document.form.expiry.value = do;

    l'errore lo da nella riga commentata.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Che errore ti da`? in quale pezzo?
    Non posso escludere di aver fatto errori.
    codice:
    var do = ''+dd.getYear()+'-';
    do += (dd.getMonth()+1)+'-';
    do += dd.getDate();
    document.NOMEFORM.NOMECAMPO2.value = do;
    Comunque il pezzo ha necessita` di essere adattato ai tuoi dati. In particolare tutti nomi in MAIUSCOLO sono da sostituire.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Un mucchio di post si sono sovrapposti.
    Comunque ho trovato. Riposto corretto:
    codice:
             // campo di input  
    var dd = document.NOMEFORM.NOMECAMPO.value.split(/\/\-\./);
    var di = new Date(dd[0], parseInt(dd[1],10)-1, dd[2]);
             // numero mesi da aggiungere
    var ma = parseInt(document.NOMEFORM.NOMECAMPO1.value, 10);
    di.setMonth(di.getMonth() + ma);
             // data out
    var do = ''+di.getYear()+'-'+(di.getMonth()+1)+'-'+di.getDate();
    document.NOMEFORM.NOMECAMPO2.value = do;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Hai omesso la stringa nulla iniziale... serve per forzare una concatenzione di stringhe, come l'hai scritta tu cerca di fare somme algebriche

    var do =''+dd.getYear()+'-'+(dd.getMonth()+1)+'-'+dd.getDate();

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Mich_
    Un mucchio di post si sono sovrapposti.
    vado a prendermi un caffe'

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.