Avatar billede xing Novice
19. marts 2008 - 13:18 Der er 5 kommentarer

DateDiff og fødselsdag

Jeg sidder og laver sådan en tilmelding til en børnehave.

Børne vil jo gerne vide om de er 4 et halvt eller kun 4 år gammel...

Det halve år drille lidt...

Børneløbet som de tilmelder sig er den 03 Juni 2008

Mit eksempel

dinStr=day(rs("fodt")) &"-"& month(rs("fodt")) &"-"& year(rs("fodt"))

aaa=DateDiff("yyyy",rs("fodt"),"03-06-2008")

aarsdato= cdate(month(rs("fodt")) &"-"& day(rs("fodt")) &"-"& year(date))

ethalvt=""

if cdate(aarsdato)>cdate("06-03-2008") then
    aaa=aaa-1       
    ethalvt=" et halvt"
end if

if cdate(aarsdato)>cdate("12-03-2008") then
    ethalvt=" et halvt"
end if


Response.Write rs("Navn") & "<br>" & dinStr & "<br>" & aaa & " " & ethalvt
Avatar billede cpufan Juniormester
19. marts 2008 - 17:47 #1
dage = DateDiff("d",rs("fodt"),"03-06-2008")

if Cint(dage)>183 then
ethalvt = true
else
ethalvt = false
end if
Avatar billede soerenlyn Nybegynder
19. marts 2008 - 18:11 #2
Nu er jeg ikke helt skarp i ASP's bolske beregninger, men i de fleste sprog ville man kunne forkorte:

if Cint(dage)>183 then
ethalvt = true
else
ethalvt = false
end if

Til:

ethalvt = Cint(dage) > 183

Cint(dage) > 183 returnerer "true" hvis det er opfyldt, og dermed kan man angive variablen ethalvt direkte på denne måde ... tror jeg :P
Avatar billede cpufan Juniormester
20. marts 2008 - 12:52 #3
det har du ret i soerenlyn

det er pindet ud, for at xing bedre kan forstå -
og benytte det i sin kode.
Avatar billede xing Novice
20. marts 2008 - 13:45 #4
Hvis barnet er født den 02-06-2004 så siger koden at ethalvt er true.

Barnet er 2 år og ikke nogle halvt...
Avatar billede cpufan Juniormester
20. marts 2008 - 15:21 #5
blah - klart

datediff skal jo ikke regne fra fødseltidpunkt, men fra årsdagen for fødslen :D

dinStr=day(rs("fodt")) &"-"& month(rs("fodt")) &"-"& year(rs("fodt"))

aaa=DateDiff("yyyy",rs("fodt"),"03-06-2008")

aarsdato= cdate(month(rs("fodt")) &"-"& day(rs("fodt")) &"-"& year(date))


dage = DateDiff("d",aarsdato,"03-06-2008")

if Cint(dage)>183 then
ethalvt = true
else
ethalvt = false
end if
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