Avatar billede musicchart.dk Nybegynder
18. juli 2002 - 19:46 Der er 7 kommentarer og
1 løsning

Dato Diff.

Hey

Hvordan trækker man en dato dd-mm-yyyy fra den nuværende dato, og så får årsforskellen?

/Bjarke - (KLEIFDESIGN)
http://www.mypage.dk
Avatar billede eagleeye Praktikant
18. juli 2002 - 20:01 #1
Du kan bruger DateDiff:

Antal_aar = DateDiff("yyyy", dato, Date())

Hvis det giver - antal så byt om på Dato of Date().
Avatar billede musicchart.dk Nybegynder
18. juli 2002 - 20:06 #2
jo, men jeg har en dato på: dd-mm-yyyy, fx 18-07-2002 , og ikke bare 2002.
Hvordan får jeg så trukket yyyy ud?
Avatar billede musicchart.dk Nybegynder
18. juli 2002 - 20:10 #3
Jeg skal bruge det til at fastslå hvor gammel man er. Og i min database har jeg en dato med formatet: dd-mm-yyyy , og det nytter ikke noget at den tæller antal år fra det årstal man er født i, men den skal tælle antal år fra den dato man er født i... forstår du :o)?
Avatar billede eagleeye Praktikant
18. juli 2002 - 20:12 #4
Hvis du vil havde årstallet ud af en dato kan du bruge Year:

aartal = Year(Dato)
Avatar billede eagleeye Praktikant
18. juli 2002 - 20:20 #5
Jeg har engang lavet dette for en som vill havde hvor gammel man var år, måneder, dage. Måske det kan give lidt inspriration til det script:


dato = sBirthdate
years = Datediff ("yyyy",dato,date)
dato = dateAdd("yyyy",years,dato)
mounths = Datediff ("m",dato,date)
if mounths < 0 then
  dato = dateAdd("yyyy",-1,dato)
  mounths = Datediff ("m",dato,date)
  years = years - 1
end if
dato = dateAdd("m",mounths,dato)
days = Datediff ("d",dato,date)
if days < 0 then
  if mounths > 0 then
    mounths = mounths - 1
  else
    years = years - 1
    mounths = 11
  end if
  dato = dateAdd("m",-1,dato)
  days = Datediff ("d",dato,date)
end if
dinStr = years & " år " & mounths & " måneder " & days & " dage"
Response.Write dinStr
Avatar billede musicchart.dk Nybegynder
18. juli 2002 - 20:30 #6
den giver jo et vanvittigt svar:

<%
sBirthdate = 04-01-1985
dato = sBirthdate
years = Datediff ("yyyy",dato,date)
dato = dateAdd("yyyy",years,dato)
mounths = Datediff ("m",dato,date)
if mounths < 0 then
  dato = dateAdd("yyyy",-1,dato)
  mounths = Datediff ("m",dato,date)
  years = years - 1
end if
dato = dateAdd("m",mounths,dato)
days = Datediff ("d",dato,date)
if days < 0 then
  if mounths > 0 then
    mounths = mounths - 1
  else
    years = years - 1
    mounths = 11
  end if
  dato = dateAdd("m",-1,dato)
  days = Datediff ("d",dato,date)
end if
dinStr = years & " år " & mounths & " måneder " & days & " dage"
Response.Write dinStr
%>

...giver: 107 år 11 måneder 21 dage
Avatar billede eagleeye Praktikant
18. juli 2002 - 20:38 #7
Prøv at sætte " omkring dato'en:

sBirthdate = "04-01-1985"
Avatar billede musicchart.dk Nybegynder
18. juli 2002 - 20:38 #8
Aha... selføgelig
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