Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    52

    sommare intero a una data

    devo aggiungere un numero intero proveniente da un campo di testo a una data, come posso fare?
    se faccio così
    invece di sommare i due interi, mi unisce la stringa giorno con arco.
    ad esempio se giorno è 5 e arco è 2 mi imposta il giorno a 52!

    var arco = document.Booking.arco_temporale.value;
    var finale = new Date(anno, mese, giorno+arco);

    se invece di arco sommo un numero intero la cosa funziona;

    var finale = new Date(anno, mese, giorno+2);

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    var arco = parseInt(document.Booking.arco_temporale.value,10) ;

    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

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    52
    continua a unirmi le due stringhe...
    ho provato anche usare parseInt su param[0] am fa lo stesso


    function ImpostaDataFinale()
    {
    var arco = parseInt(document.Booking.arco_temporale.value,10) ;
    var param = document.Booking.data_iniziale.value.split("-");
    var finale = new Date(param[2], param1[1]-1, param[0]+arco);
    var mese = finale.getMonth() + 1;
    document.Booking.data_finale.value = finale.getDate() + "-" + mese + "-" + finale.getYear();
    }

    PS; io prendo la data in formato gg-mm-aaaa non è che esiste già qualcosa in js per cambiare il formato, nello standard che utilizza?

    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anche param[] sono stringhe, e vanno convertite prima di poterle usare in calcoli matematici.

    codice:
    var param = document.Booking.data_iniziale.value.split(/[\-\/\.]/);
    var finale = new Date(param[2], param1[1]-1, parseInt(param[0],10)+arco);
    Non esistono standard. Lo split() e` la cosa migliore.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.