14 messaggi dal 09 dicembre 2002
diciamo che una buona approssimazione, perchè a quanto ho capito vengono calcolati mesi da 30 giorni...... sono davvero curioso di vedere se esiste una soluzione ottima.

Come un bambinoo che disegna le cose belle che non ha....passo il tempo ad inventare la realtà
adesso ho provato ad impostare la data di partenza a:

03.12.2003 ore 13:50:00

risultato ottenuto:

1 anni 2 mesi 8 giorni 23 ore 12 minuti

diciamo che per l'uso che ne devo fare..è più che soddisfacente..

:-)

cari ragazzi..
penso di aver trovato la soluzione al problema..
grazie ad un'altro iscritto che mi ha praticamente detto come fare..il risultato è questo..:


refdate = CDate(rs("iscritto"))
response.write ElapsedDateTime(refdate)

function ElapsedDateTime(refdate)

today = now()

' per anno/mese/giorno uso la data di oggi alle ore 00.00.00
startOfToday = DateSerial(Year(today),Month(today),day(today))

'differenza in anni
dAnni = cint(datediff("yyyy", refdate, startOfToday))
' aggiungo il delta alla data di partenza
tDate1 = dateadd("yyyy", dAnni, refdate)
'se la data è > di quella attuale a mezzanotte tolgo 1 dagli anni perchè il g/mese non è ancora arrivato
if tDate1 > startOfToday + 1 then
dAnni = dAnni - 1
' sistemo la data di confronto per calcolare i mesi
tDate1 = dateadd("yyyy", dAnni, refdate)
end if

'differenza in mesi
dMesi = cint(datediff("m", tDate1, startOfToday))

'aggiungo il delta alla data originale modificata
tDate2 = dateadd("m", dMesi, tDate1)

if tDate2 > startOfToday + 1 then
'tolgo 1 dal mese perchè il giorno non è ancora passato
dMesi = dMesi - 1
'sistemo la data di confronto
tDate2 = dateadd("m", dMesi, tDate1)
end if

'differenza in giorni - CONFRONTO ANCHE CON ORARIO
dGiorni = cint(datediff("d", tDate2, today))
' aggiungo il delta per confrontare i giorni
tDate3 = dateadd("d", dGiorni, tDate2)

if tDate3 > today then
dGiorni = dGiorni - 1
tDate3 = dateadd("d", dGiorni, tDate2)
end if

dOre = cint(datediff("h", tDate3, today))
tDate4 = dateadd("h", dOre, tDate3)
if tDate4 > today then
dOre = dOre - 1
tDate4 = dateadd("h", dOre, tDate3)
end if

dMinuti = cint(datediff("n", tDate4, today))
'tDate5 = dateadd("n", dMinuti, tDate4)
'if tDate5 > today then
' dMinuti = dMinuti - 1
' tDate5 = dateadd("n", dMinuti, tDate4)
' end if

if danni <= 0 then
response.write ""
else
response.write danni & " <font color=white>anni</font> "
end if
if dmesi <= 0 then
response.write ""
else
response.write dmesi & " <font color=white>mesi</font> "
end if
if dgiorni <= 0 then
response.write ""
else
response.write dgiorni & " <font color=white>giorni</font> "
end if
if dore <= 0 then
response.write ""
else
response.write dore & " <font color=white>ore</font> "
end if
if dminuti <= 0 then
response.write ""
else
response.write dminuti & " <font color=white>minuti</font> "
end if

end selected


Funziona alla grande... :-)

Grazie cmq..a tutti

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.