Avatar billede budda Nybegynder
26. oktober 2001 - 18:13 Der er 7 kommentarer og
1 løsning

Alder på chatter

Jeg har et system og jeg vil gerne have vist hvor gamle de er.
datoen liger i en tabel der hedder p_age
Og så vil jeg gerne have den ud som år, måneder, dage
Eks. Så står der i en bruger der hedder lars han er født 29-2-1985

Så vil jeg gerne have der står han er:
15år, 7 måneder, 27 dage

Hvordan gør jeg det?
Den skal også tage højde for skud år (ved nok at datoen ikke findes)
Avatar billede eagleeye Praktikant
26. oktober 2001 - 18:15 #1
Her er et script kode det kan evt laves som function.

dato = \"29-02-1985\"


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 budda Nybegynder
26. oktober 2001 - 18:19 #2
Ja..men det skal hentes fra en burger der hedder eks. lars hvordan gør jeg det?
Avatar billede eagleeye Praktikant
26. oktober 2001 - 18:24 #3
Her lagt ind i en function findAlder:


function findAlder(dato)
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
findAlder = years & \" år \" & mounths & \" måneder \" & days & \" dage.\"
end function


Du har tabellen p_age.

har du en side hvor du skriver data ud omkring folk og hendtet data fra databasen i et recordset?

Så kan du jo kalde function med

Response.write \"Født :\"&rs(\"p_age\") & \" alder \" & findAlder(rs(\"p_age\"))
Avatar billede budda Nybegynder
26. oktober 2001 - 18:26 #4
Tjekker lige om det virker på min site..så kommer der points :)
Avatar billede budda Nybegynder
26. oktober 2001 - 18:43 #5
Hvad hvis det skrives:
1985-29-2
Avatar billede eagleeye Praktikant
26. oktober 2001 - 18:44 #6
Det kan godt laves om i koden..
Bare det altid er det samme altså År-måned-dag
Avatar billede eagleeye Praktikant
26. oktober 2001 - 18:47 #7
Så skal formatet være åå-månede-day som input

function findAlder(dato)
mydato = split(dato,\"-\")
dato = mydato(2) & \"-\" & mydato(1) & \"-\" & mydato(0)
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
findAlder = years & \" år \" & mounths & \" måneder \" & days & \" dage.\"
end function
Avatar billede budda Nybegynder
26. oktober 2001 - 18:49 #8
Har fået det til at virke!
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