Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    1,001

    conversione millisecondi in mesi

    ciao sono riuscito ad ottenere la differenza tra due date in millisecondi

    come faccio da questa ad ottenere un numero che rappresenti i mesi???
    Vola solo chi ha il coraggio di farlo

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: conversione millisecondi in mesi

    Originariamente inviato da noos
    ciao sono riuscito ad ottenere la differenza tra due date in millisecondi

    come faccio da questa ad ottenere un numero che rappresenti i mesi???
    Dividi per il numero di millisecondi contenuti in un mese (convenzionalmente 30 giorni)

    ciao

    Guarda qui: http://www.devguru.com/technologies/...ript/10585.asp magari trovi una via piu' breve
    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 L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    1,001
    ok funziona

    praticamente ricavo la differenza tra le due date in millisecondi e poi la divido per i millisecondi contenuti in un mese

    cè' un problema però se la differenza è oltre due anni per esempio:
    1 aprile 2008 e 1 aprile 2010 ottengo 24 cioè il numero di mesi ok va benissimo

    se invece le date sono 1 aprile 2007 e 1 aprile 2010 non ottengo 36 ma un numero approssimativo cioè 36.032876712328765

    come posso ottenere sempre un numero decimale?????
    Vola solo chi ha il coraggio di farlo

  4. #4
    Utente di HTML.it L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    1,001
    che scemo basta usare parseint
    Vola solo chi ha il coraggio di farlo

  5. #5
    Utente di HTML.it L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    1,001
    ciao riprendo questo argomento in quanto ho un problema in particolare con il mese di febbraio

    ad esempio se faccio la differenza tra la data 1 marzo 2010 e 1 aprile 2010 ottengo come risultato 1

    se faccio la differenza tra 1 febbraio 2010 e 1 aprile 2010 non ottengo 2

    come posso risolvere???

    riporta la funzione che mi svolge la differenza tra le date inserite

    data1 e data2 sono le date che gli passo

    getDateStrFromAMG è la funzione getDateStrFromAMG che mi converte in AAAAMMGG
    Codice PHP:

    if (data1!=null && data2!=null){
        
    data1 getDateStrFromAMG(data1);
        
        
    data2 getDateStrFromAMG(data2);
        
        var 
    obj1date = new Date(data1); 
        
        var 
    obj2date = new Date(data2); 
        

            
        var 
    obj2date.getTime() - obj1date.getTime();
        
        var 
    result=parseInt(r); 
    Codice PHP:
    function getDateStrFromAMG(str){

    //Restituisce una stringa che comprende i caratteri compresi tra i punti specificati dai parametri 
        
    var str.substring(0,4) +","+str.substring(5,7)+","+str.substring(8,10);
        return 
    r;

    Vola solo chi ha il coraggio di farlo

  6. #6
    Utente di HTML.it L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    1,001
    niente ragà????
    Vola solo chi ha il coraggio di farlo

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Spero tu sia consapevole che stai tentando di applicare la matematica a delle unita' di misura che non sono matematiche... se sommi un mese al 31 di gennaio cosa ottieni? il 28, 29, 31 di febbraio o il 2 o 3 di marzo?

    Prima devi decidere come trattare i casi particolari, poi ti si puo' suggerire un algoritmo per realizzarlo.

    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

  8. #8
    Utente di HTML.it L'avatar di noos
    Registrato dal
    Jul 2003
    Messaggi
    1,001
    forse ho risolto non sarà il codice più pulito ma funziona

    ho inserito Math.abs e Math.round
    Codice PHP:

            
    var rMath.abs(obj2date.getTime() - obj1date.getTime());

        
            var 
    result=Math.round(r/2628000000);
            
            
    result=parseInt(result); 
    Vola solo chi ha il coraggio di farlo

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.