Avatar billede ncp Nybegynder
04. januar 2004 - 15:53 Der er 5 kommentarer og
1 løsning

Antal dage/timer/menutter imellem nu og en dato + 14 dage

Hvordan beregner jeg mængden af tid mellem idag (now) og en dato - f.eks. går kl. 13:25 + 14 dage ligeud.

Output skal både være i hele dage, hele timer og hele minutter...
Avatar billede ncp Nybegynder
04. januar 2004 - 15:55 #1
Hmm - blev lidt uklart synes jeg selv... Det jeg vil er at beregne tiden mellem 2 datoer, den ene dato er now, mens den anden dato skal beregnes udfra en dato (som er mindre end now) som der læggers 14 hele dage oven i.
Avatar billede eagleeye Praktikant
04. januar 2004 - 16:02 #2
Ja datediff kan ikke bruges direkte så man må selv lige lave lidt:


function TimeCalc(StartTime, FinishTime) 
Dim diff, mins, hours, secs
diff = datediff("n",StartTime,FinishTime)
dage = Int(diff / (24*60))
hours = Int(60*(diff / 24*60) - dage))
mins = Int(diff - ((24*60)* dage) - (60 * hours))

TimeCalc = dage & " dage " & hours & " timer " & mins & " minutter"
end function


Så kan du kalde den sådan her:

startDato = Now()
slutDato = "30-01-2004 12:23:34"
Response.Write TimeCalc (startDato, slutDato)
Avatar billede ncp Nybegynder
04. januar 2004 - 19:40 #3
Okay, har fået tilpasset funktionen så den kan udregne antal ´dage/timer/minutter - men skal have lagt 14 dage til en af datoerne (slutdatoen) - hvordan gør jeg det?

    function TimeCalc(StartTime, FinishTime) 
        Dim diff, mins, hours, secs
        diff = datediff("n",StartTime,FinishTime)
        dage = Int(diff / (24*60))
        hours = Int(60*(diff / 24*60) - dage)
        mins = Int(diff - ((24*60)* dage) - (60 * hours))

        if dage > 1 then
            TimeCalc = dage & " dage"
        elseif hours > 1 then
            TimeCalc = hours & " timer"
        else
            TimeCalc = mins & " minutter"
        end if
    end function
Avatar billede eagleeye Praktikant
04. januar 2004 - 21:34 #4
Så kan du bruge dateadd hvis den altid skal ligge 14 dage til:

    function TimeCalc(StartTime, FinishTime)
        Dim diff, mins, hours, secs
        FinishTime = DateAdd("d",14,FinishTime)
        diff = datediff("n",StartTime,FinishTime)
        dage = Int(diff / (24*60))
        hours = Int(60*(diff / 24*60) - dage)
        mins = Int(diff - ((24*60)* dage) - (60 * hours))

        if dage > 1 then
            TimeCalc = dage & " dage"
        elseif hours > 1 then
            TimeCalc = hours & " timer"
        else
            TimeCalc = mins & " minutter"
        end if
    end function
Avatar billede eagleeye Praktikant
10. januar 2004 - 12:07 #5
virker det?
Avatar billede ncp Nybegynder
10. januar 2004 - 12:24 #6
Jep ;)
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