Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: calcolare l'età

  1. #1

    calcolare l'età

    uso questo codice per calcolarmi l'età...

    codice:
    giorni = datediff("d",now(),rs("Data_Nascita")) 'numero di giorni
    eta = CInt(giorni/365)
    ma primo..mi esce un - davanti all'età esempio -24

    e poi non è mai esatta nel senso che a volte sfasa per un un giorno di un anno :-|


    sapreste indicarmi un codice esatto matematicamente che mi procuri la variabile o il modo di modificare questo?
    eta=....


    grazie 47.000
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: calcolare l'età

    codice:
    eta = datediff("yyyy",rs("Data_Nascita"),now())

  3. #3
    e menomale che avevo chiesto matematico certo questo lo usavo da bambino

    scherzo...ma non è quello che intendo questo si inceppa con i bisestili e i giorni peggio del mio
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  4. #4
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    In che senso si inceppa coi bisestili?

  5. #5

  6. #6
    Originariamente inviato da optime
    http://www-users.med.cornell.edu/~sp...lc/agecalc.htm

    dietro c'è un po' di js. dagli un'occhiata
    e come si applica?
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  7. #7
    se la prenti da sql server puoi fare così
    codice:
    SELECT YEAR(getdate()) - datepart(yyyy,datanascita) - CASE WHEN (datepart(m,datanascita) = MONTH(getdate()) AND datepart(d,datanascita) > DAY(getdate()) OR datepart(m,datanascita) > MONTH(getdate())) THEN 1 ELSE 0 END AS ETA FROM UTENTI -- WHERE ECC.
    altrimenti in asp usa questo codice (non l'ho testato)
    codice:
    oggi=now()
    eta=year(oggi)-year(datanascita)
    if ((month(oggi)=month(datanascita)) and (day(oggi)<day(datanascita))) or (month(oggi)<month(datanascita)) then
        eta=eta-1
    end if

  8. #8
    altrimenti in asp usa questo codice (non l'ho testato)
    codice:
    oggi=now()
    eta=year(oggi)-year(datanascita)
    if ((month(oggi)=month(datanascita)) and (day(oggi)<day(datanascita))) or (month(oggi)<month(datanascita)) then
        eta=eta-1
    end if
    non funziona mi da 105 anni
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  9. #9
    Strano, a me funziona, valorizza la data così
    codice:
    datanascita=dateserial(1990,12,20)
    e modificala a piacimento e vedi che va, i numeri rappresentano l'anno, il mese e il giorno

    Probabilmente la datanascita non è valorizzata bene,
    sei sicuro che nel database sia in formato data e non testo?

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Io per inserire la data in Db uso questo che ho trovato qui sul forum e mi pare funzioni a dovere anche se non l'ho testato molto:

    <%
    dataNascita = request.form("giorno") & "/" & request.form("mese") & "/" & request.form("anno")
    anni = Year(Date) - Year(dataNascita)
    If DateAdd("yyyy", anni, dataNascita) > Date Then
    anni = anni - 1
    End If
    %>
    <input name="Età" type="hidden" value="<%=anni%>" id="Età" />
    Ciao

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.