Avatar billede canedo Nybegynder
23. oktober 2002 - 17:52 Der er 14 kommentarer og
1 løsning

Tidsberegning

Jeg skal have lavet et script der kan regne ud hvor lang tid der er gået fra en bestemt dato. F.eks.: 'Der er nu gået 5 år og 3 mdr. siden jeg flyttede hjemmefra'.

Hvor kan jeg finde et script der kan gøre det? eller er her nogen der ved hvordan?
Avatar billede thomas_regin Nybegynder
23. oktober 2002 - 17:59 #1
Brug VB/ASP's indbyggede funktion DateDIFF

F.eks
<%
'Få resultatet i måneder
myMonths = DateDiff("m","19-07-1976","23-10-2002")
'Omdan til år
Response.Write myMonths / 12 & "år."
%>

Resultat: 26,25 år.

Mvh,

Thomas Regin.
Avatar billede canedo Nybegynder
23. oktober 2002 - 18:51 #2
Hvordan kan man få resultatet til at se ud som her:
26 år og 1 mdr

?
Avatar billede canedo Nybegynder
23. oktober 2002 - 18:54 #3
Kunne man eventuelt gå ind og behandle de 2 første cifre i resultatet, og trække dem ud. Og bag efter tage de to sidste cifre og få dem lavet om til noget der svarer til måneder?
Avatar billede thomas_regin Nybegynder
23. oktober 2002 - 19:12 #4
Tjaeh.. Det kan man godt!

Prøv dette:

<%
myMonths = DateDiff("m","19-07-1976","23-10-2002")
getWholeYears = myMonths / 12
getRestOfMonths = right(getWholeYears, instr(1,getWholeYears,",") -1)
Response.Write int(getWholeYears) & " år og " & getRestOfMonths & " måneder"
%>

Mvh,

Thomas Regin.
Avatar billede canedo Nybegynder
23. oktober 2002 - 19:15 #5
så får jeg denne fejlmeddelelse:
Procedurekaldet eller argumentet er ugyldigt: 'right'
Avatar billede thomas_regin Nybegynder
23. oktober 2002 - 19:15 #6
Hov, du skal nok lige dividere med 12 i den nederste linie..

Har ikke lige testet!

Response.Write int(getWholeYears) & " år og " & round(getRestOfMonths / 12) & " måneder"

Mvh,

Thomas.
Avatar billede canedo Nybegynder
23. oktober 2002 - 19:17 #7
jeg får desværre stadig denne fejlmeddelelse:
Procedurekaldet eller argumentet er ugyldigt: 'right'
Avatar billede canedo Nybegynder
23. oktober 2002 - 19:19 #8
hov, nu lader det til at det virker...
Avatar billede canedo Nybegynder
23. oktober 2002 - 19:21 #9
hmmm ikke helt. Dette script:
<%
myMonths = DateDiff("m","19-06-1996",date)
getWholeYears = myMonths / 12
getRestOfMonths = right(getWholeYears, instr(1,getWholeYears,",") -1)
Response.Write int(getWholeYears) & " år og " & round(getRestOfMonths / 12) & " måneder"
%>

giver resultatet:
6 år og 0 måneder

men i virkeligheden skal det give 6 år og 3 måneder.
Avatar billede thomas_regin Nybegynder
23. oktober 2002 - 19:23 #10
Jeps!.. har fundet fejlen!

Prøv dette istedet.. Det burde virke! ;)
<%
myMonths = DateDiff("m","19-07-1976","23-10-2002")
getWholeYears = int(myMonths / 12)
getRestOfMonths = myMonths - (getWholeYears * 12)
Response.Write int(getWholeYears) & " år og " & int(getRestOfMonths) & " måneder"
%>

/thomas
Avatar billede canedo Nybegynder
23. oktober 2002 - 19:23 #11
men jeg kunne selvfølgelig også bare snyde og gøre sådan:
Response.Write int(getWholeYears) & " år og " & round(getRestOfMonths / 12)+3 & " måneder"
Avatar billede canedo Nybegynder
23. oktober 2002 - 19:24 #12
YES: nu ser det meget mere rigtigt ud:
6 år og 4 måneder, og det skal nok passe meget fint.
Avatar billede thomas_regin Nybegynder
23. oktober 2002 - 19:25 #13
Ha ha.. Nej, det kan du ikke!.. ;)

Men brug det script jeg lavede til dig ovenover! Det er testet, og det virker!

/thomas
Avatar billede canedo Nybegynder
23. oktober 2002 - 19:26 #14
tusind tak thomas!
Avatar billede thomas_regin Nybegynder
23. oktober 2002 - 19:27 #15
Selv tak!..

Undskyld at det tog lidt tid! Jeg skal lære at teste tingene selv, før man blabrer ud! *G*

Takker for points!

Mvh,

Thomas Regin.
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