Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207

    Tempo passato dall'assunzione

    Buonasera, avrei bisogno del vostro aiuto se possibile.
    Ho realizzato questo codice che mi dovrebbe dire quanto tempo è trascorso da una determinata data ovvero da quanto tempo il personale lavora alle dipendenze.
    Con questo codice gli anni mi vengono restituiti correttamente mentre i mesi e i giorni no, mi restituisce dei dati sbalati.
    Potete aiutarmi?
    Grazie anticipatamente.
    codice:
      <% dim oggi 	     dim data 		 dim differenza 		 dim mesi 		 dim giorni 		 oggi= Date() 		 data= (ScadTiro.Fields.Item("DataArr_to").Value) 		 differenza = DateDiff("YYYY", data, oggi ) 		 mesi = DateDiff("m", data, oggi )	 		 giorni = DateDiff("d", data, oggi )                         	  %>       <%=differenza%> Anni <%=mesi%> Mesi <%=giorni%> Giorni

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    a parte che qui dovresti formattare il codice che così è illeggibile sia per le macchine che per noi

    in che senso ti da valori sballati?
    lo script controlla: tutti gli anni, tutti i mesi, tutti i giorni

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    spero che così si capisca meglio
    se per esepio ho la DataArr_to 15/06/1988
    mi restitusce 24 Anni 293 Mesi 8912 giorni
    invece dovrebbe darmi 24 Anni 5 mesi e ??? giorni

    codice:
    <% dim oggi
    dim data 	
    dim differenza
    dim mesi
    dim giorni 
    oggi= Date()
    data= (ScadTiro.Fields.Item("DataArr_to").Value) 
    differenza = DateDiff("YYYY", data, oggi ) 	
    mesi = DateDiff("m", data, oggi )	 		
    giorni = DateDiff("d", data, oggi )                    
    %>
    <%=differenza%> Anni <%=mesi%> Mesi <%=giorni%> Giorni

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    ovvio che restituisce 24 Anni 293 Mesi 8912 giorni, glielo hai chiesto tu

    per fare quello che dici devi sottrarre gli anni trascorsi e poi da questi i mesi trascorsi

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    207
    mi faresti un esempio se puoi?
    grazie della gentlzza

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    <% dim oggi
    dim data 	
    dim differenza
    dim mesi
    dim giorni 
    oggi= Date()
    data= (ScadTiro.Fields.Item("DataArr_to").Value) 
    differenza = DateDiff("YYYY", data, oggi ) 	
    mesi = DateDiff("m", data, oggi ) - (differenza * 12)	 		
    giorni = DateDiff("d", data, oggi )  - ((differenza * 12 ) + mesi) * 30                
    %>
    <%=differenza%> Anni <%=mesi%> Mesi <%=giorni%> Giorni
    Ma poiche' trattare con giorni, mesi ed anni, essendo di durata differente, comporta sempre dei problemi, ti suggerisco di seguire un'altra strada: dalla data maggiore sottrai (e conta) anni finche' la data stessa rimane maggiore o uguale all'altra, poi sottrai mesi ed infine giorni... cosi' non sbagli
    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
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    bravo br1

    e per i mesi/giorni successivi a quelli attuali?
    al momento se confrontiamo novembre 2012 con dicembre 2011 il risultato dei mesi è -1 (dovrebbe essere +11)

    la strada migliore, per te, quale sarebbe?
    confrontare i valori e alterarli o ha qualche formuletta?

  8. #8
    calcola i giorni e poi esponili in anni mesi e giorni

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Vincent.Zeno
    bravo br1

    e per i mesi/giorni successivi a quelli attuali?
    al momento se confrontiamo novembre 2012 con dicembre 2011 il risultato dei mesi è -1 (dovrebbe essere +11)

    la strada migliore, per te, quale sarebbe?
    confrontare i valori e alterarli o ha qualche formuletta?
    Non ho capito l'appunto
    Faccio l'esempio:
    codice:
    <%
    data1 = dateserial(2011,12,25)
    data2 = dateserial(2012,11,4)
    
    ' cerco la maggiore
    d1 = data1 : d2 = data2
    if d2>d1 then d1 = data2 : d2 = data1
    d3 = d1
    anni = 0 : mesi=0 : giorni=0
    do while dateadd("YYYY",-1,d3)>=d2
    	anni = anni +1
    	d3 = dateadd("YYYY",-1,d3)
    loop
    do while dateadd("M",-1,d3)>=d2
    	mesi = mesi +1
    	d3 = dateadd("M",-1,d3)
    loop
    do while dateadd("D",-1,d3)>=d2
    	giorni = giorni +1
    	d3 = dateadd("D",-1,d3)
    loop
    response.write "anni "&anni&" mesi "&mesi&" giorni "&giorni
    %>
    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
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Originariamente inviato da br1
    Non ho capito l'appunto
    Faccio l'esempio:
    questo esempio è perfettamente funzionante.

    quello precedente, anche se uso una data seriale, mi da
    1 Anni -1 Mesi -15 Giorni
    codice:
    <% dim oggi
    dim data 	
    dim differenza
    dim mesi
    dim giorni 
    'oggi= cdate(Date())
    'data= cdate("31/12/2011") 
    oggi= dateserial(2012,11,4)
    data= dateserial(2011,12,25)
    
    differenza = DateDiff("YYYY", data, oggi ) 	
    mesi = DateDiff("m", data, oggi ) - (differenza * 12)	 		
    giorni = DateDiff("d", data, oggi )  - ((differenza * 12 ) + mesi) * 30                
    %>
    <%=differenza%> Anni <%=mesi%> Mesi <%=giorni%> Giorni

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 © 2026 vBulletin Solutions, Inc. All rights reserved.