Avatar billede richardr Nybegynder
09. maj 2000 - 17:00 Der er 20 kommentarer og
3 løsninger

finde alder ud fra en dato.

Hvordan finder jeg alderen på en hvis jeg har datoen!!

alstå en der er født d. 1/1-1980.

Scriptet skal så selv udregne alderen på personen!!
Avatar billede tomsommer Juniormester
09. maj 2000 - 17:10 #1
Tag og søg efter det.. fordi det har været oppe mange gange
Avatar billede tomsommer Juniormester
09. maj 2000 - 17:11 #2
Avatar billede sa Nybegynder
09. maj 2000 - 17:12 #3
I dette eksempel, som jeg lige kunne finde frem til, beregnes alderen i dage og lægges i variablen "alder".
(Fra et tidligere spg. på eksperten)

De to datoer kan erstattes af variabler, som naturligvis skal være i datoformat. Variablen for dags dato kan vel findes ved at bruge noget i retning af now().

alder = DateDiff("d", "01-01-1980", "09-05-2000")

Den første parameter fortæller hvad forskellen skal måles i - "s" for sekunder, "d" for dage, "h" for timer ...

Jeg kunne ikke finde parametren for "år", men det kunne måske tænkes at være "y". Ellers kan antallet af år udregnes på baggrund af antallet af dage.

Hvis jeg får tid, prøver jeg lige at afprøve det selv...
Avatar billede tomsommer Juniormester
09. maj 2000 - 17:14 #4
<% intAge = DateDiff("m", CDate(objRec("Birth")), Now()) \ 12
Response.Write(intAge)%>

( http://www.eksperten.dk/spm.asp?id=10344 )
Avatar billede tomsommer Juniormester
09. maj 2000 - 17:16 #5
Hvor "intAge" er udskriften

Og "Birth" er din Dato
Avatar billede tomsommer Juniormester
09. maj 2000 - 17:20 #6
"Min" regner alder ud.... og den finder også selv dagens dato!
Avatar billede sa Nybegynder
09. maj 2000 - 17:27 #7
CDate og pbjRec skulle slet ikke være nødvendige, hvis man ikke henter fra en database, hvilket jeg naturligvis ikke ved, om du gør.

Jeg har netop afprøvet mit eksempel. Det virker fint. "y" betegner dog ikke år, så jeg henviser til "tomsommer"s  forslag med at dividere med tolv.

alder = DateDiff("m", "fodsel", now()) / 12
response.write "" & alder & ""

Hvor "fodsel" er en variabel, der indeholder fødselsdagen i datoformat (e.g. 01-01-1980).

Resultatet skal lige rundes ned pga. division m. 12 kan resultere i et tal med decimaler.


Avatar billede sa Nybegynder
09. maj 2000 - 17:32 #8
Til at nedrunde bruges funktionen int(), som altid runder ned. Dvs. eksempelvis 20,8 bliver til 20, hvilket jo er den korrekte måde at gøre det på mht. alder.
Avatar billede sa Nybegynder
09. maj 2000 - 17:35 #9
Dvs. at den endelige kode bliver:

alder = int(DateDiff("m", "fodsel", now()) / 12)
response.write "" & alder & ""
Avatar billede tdaugaard Nybegynder
09. maj 2000 - 17:41 #10
intAge = DateDiff("yyyy", DateOfBirth, Date) + 1

Parameter værdien for "Year" i DateDiff er "yyyy" ..
Avatar billede sa Nybegynder
09. maj 2000 - 17:44 #11
Grunden til de fire y'er må vel være, at den ønsker at vide, hvorvidt det drejer sig om år i to- eller fire-talsformat(?)
Avatar billede tomsommer Juniormester
09. maj 2000 - 17:46 #12
sa -- Spade... det var det jeg skrev... klovn

Prøver du at nakke mit svar?
Avatar billede sa Nybegynder
09. maj 2000 - 18:09 #13
=> tomsommer

Det er nu da ikke ligefrem en positiv tone, du der anlægger!

Nu ved jeg ikke, hvilket af det, du kommenterer, men jeg har blot udbygget det oprindelige svar jeg gav og givet et konkret (fungerende og testet) eksempel. Jeg forsøger blot (ligesom du) at hjælpe med det aktuelle problem.

Desuden har jeg gjort opmærksom på, at CDate og pbjRec ikke var nødvendige at bruge (disse var åbenbaret brugt i det spg., du henviste til). Desuden henviste jeg ligefrem til dit svar, da jeg skrev og "division m. tolv måneder".

Der er vel ikke noget forkert i at svare på et spg. og evt. give et afprøvet eksempel, selvom andre også har svaret på spørgsmålet. Du er forøvrigt velkommen til selv at holde dine point eftersom du svarede på spg. først. Det kan dog ikke afholde mig fra selv at svare og evt. komme med yderligere forslag ;-)
Avatar billede tomsommer Juniormester
09. maj 2000 - 18:23 #14
:o)
Avatar billede sa Nybegynder
09. maj 2000 - 18:28 #15
Og forøvrigt må det også siges, at der er rigeligt med point i dette spg. til, at alle, der er kommet med et bidrag (såsom "tdaugaard" og jeg) også kan må en _lille_ andel, hvis det endelig skulle være aktuelt ;-)
Avatar billede tomsommer Juniormester
09. maj 2000 - 18:46 #16
:o)
Avatar billede tdaugaard Nybegynder
09. maj 2000 - 19:17 #17
Vedr. point fordeling (eller point givning) så mener jeg at det er op til spørgeren at bedømme hvilket svar der var mest brugbart, effektivt osv.

Derfor er det nødvendigvis ikke den der svarer først der "behøver" at få pointene, selvom dennes svar var korrekt.

Jeg synes at det ville være mest rimeligt hvis de 200p blev delt imellem os der har bidraget til et svar, ikke nødvendigvis ligeligt men i forhold til hvor meget svaret kunne bruges om jeg så må sige.

Jeg er derfor helt enig i SA's kommentar.
Avatar billede sa Nybegynder
09. maj 2000 - 19:22 #18
Ja, kommentaren mht. hvem der svarer først var også nærmest rettet mod spørgsmål, hvor flere måtte svare nærmest det samme eller komme med to muligheder, der er lige gode. - Naturligvis er det helt op til spørgeren (også hvorvidt vedkommende i det hele taget kan bruge nogen af svarene til noget).
Avatar billede richardr Nybegynder
09. maj 2000 - 19:47 #19
tomsommer.. dine svar var hvad jeg skulle bruge..
De andre supplerende svar fra sa og tdaugaard, og også gode, men jeg kan bedst li tomsommer's..

Så i får point alle sammen..
Håber i er glade... for det er jeg.. : )
Avatar billede tomsommer Juniormester
09. maj 2000 - 19:51 #20
I'm Happy
Avatar billede tdaugaard Nybegynder
09. maj 2000 - 19:54 #21
<< richardr >>
Jeg er helt tilfreds med point fordelingen.

<< tomsommer >>
You Should Be!
Avatar billede tomsommer Juniormester
09. maj 2000 - 19:57 #22
<< tdaugaard >>
I am
Avatar billede sa Nybegynder
09. maj 2000 - 20:04 #23
Sådan skal det være!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester