Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    67

    Differenza in mesi tra due date

    Salve, come calcolare con una funzione in javascript la differenza tra due date in mesi ?
    Grazie.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    L'argomento e' stato gia' trattato... ma magari le premesse sono diverse:

    sai gia' come vanno conteggiati i mesi con lunghezza giorni differente? es. dal 31 gennaio al 28 febbraio quanti mesi ci sono? e dal 28 febbraio al 31 maggio?

    oppure vuoi considerare "mese" 30 giorni di differenza?

    Vedi tu

    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
    Nov 2007
    Messaggi
    67
    Originariamente inviato da br1
    L'argomento e' stato gia' trattato... ma magari le premesse sono diverse:

    sai gia' come vanno conteggiati i mesi con lunghezza giorni differente? es. dal 31 gennaio al 28 febbraio quanti mesi ci sono? e dal 28 febbraio al 31 maggio?

    oppure vuoi considerare "mese" 30 giorni di differenza?

    Vedi tu

    ciao
    Se usassi la DateDiff di vb.net avrei 1 come risultato dal 31 gennaio al 28 febbraio e 3 dal 28 febbraio al 31 maggio.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Che io sappia il datediff() di vb fa una semplice differenza del numero del mese senza riguardo per il giorno... se e' quello che vuoi ...

    prima = new Date(2009,01,28);
    seconda = new Date(2010,04,31);
    mesiDiff = (seconda.getFullYear() - prima.getFullYear())*12 + seconda.getMonth()) - prima.getMonth();

    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    67
    Originariamente inviato da br1
    Che io sappia il datediff() di vb fa una semplice differenza del numero del mese senza riguardo per il giorno... se e' quello che vuoi ...

    prima = new Date(2009,01,28);
    seconda = new Date(2010,04,31);
    mesiDiff = (seconda.getFullYear() - prima.getFullYear())*12 + seconda.getMonth()) - prima.getMonth();

    ciao
    Se io passassi le date da due caselle di testo in formato gg/mm/aaaa ?
    Ho visto che esiste anche una funzione Datediff per javascript.

    DateDiff Function

    Returns a Variant (Long) specifying the number of time intervals between two specified dates
    .

    Syntax

    DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

    The DateDiff function syntax has these named arguments:

    Part Description
    interval Required. String expression that is the interval of time you use to calculate the difference between date1 and date2.

    The interval argument has these settings:

    Setting Description
    yyyy Year
    q Quarter
    m Month
    y Day of year
    d Day
    w Weekday
    ww Week
    h Hour
    n Minute

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    per trasformare un testo in formato gg/mm/aaaa in data:

    pippo = testo.split("/");
    miaData = new Date(pippo[2], pippo[1]-1, pippo[0]);

    Non conosco una funzione nativa DateDiff() in javascript... dove hai reperito la documentazione?

    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    67
    Originariamente inviato da br1
    per trasformare un testo in formato gg/mm/aaaa in data:

    pippo = testo.split("/");
    miaData = new Date(pippo[2], pippo[1]-1, pippo[0]);

    Non conosco una funzione nativa DateDiff() in javascript... dove hai reperito la documentazione?

    ciao
    Dai un'occhiata qui
    http://chandlerproject.org/Documenta...ScriptDateDiff

    Attenzione che nel calcolo che fai per ottenere la durata, manca una parentesi aperta, penso.

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da creamer
    Dai un'occhiata qui
    http://chandlerproject.org/Documenta...ScriptDateDiff
    Se vuoi usare una libreria di terze parli liberissimo

    Originariamente inviato da creamer
    Attenzione che nel calcolo che fai per ottenere la durata, manca una parentesi aperta, penso.
    Non mi risulta.

    ciao

    ps: niente problemi tecnici nei messaggi personali, grazie, altrimenti il forum per cosa esisterebbe?
    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

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    67
    Originariamente inviato da br1
    Se vuoi usare una libreria di terze parli liberissimo


    Non mi risulta.

    ciao

    ps: niente problemi tecnici nei messaggi personali, grazie, altrimenti il forum per cosa esisterebbe?
    Ok, grazie, scusa il disturbo.
    Comunque dopo seconda.getMonth() c'era una parentesi chiusa in più, tutto qui.

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da creamer
    Comunque dopo seconda.getMonth() c'era una parentesi chiusa in più, tutto qui.
    Quando hai ragione, hai ragione

    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.