Avatar billede nummer8 Nybegynder
27. april 2004 - 10:17 Der er 4 kommentarer og
1 løsning

Minutter til dage/timer/minutter

Hvordan kan man lave minutter om til dage, timer og minutter ?

fx. jeg vil have lavet 1520 minutter om..
- 1 dag, 1 time og 20min
eller lave 600 minutter om..
- 10 timer

etc
Avatar billede vbcoder Nybegynder
27. april 2004 - 11:04 #1
<%
Function udregnTid(tid)

    'paramteren tid er minutter fra anden funktion
    'vb funktionen MOD returnerer resten efter en division med et givet tal
   
    Dim dage
    Dim timer
    Dim minutter
 
    ' sørg for at tid er et langt heltal
    tid = CLng(tid)
   
    dage = 0
    timer = 0
    minutter = 0

    'antallet af minutter udover antallet af timer
    'findes ved MODULUS 60
    minutter = tid MOD 60   

    'antallet af timer udover antallet af dage
    'findes ved MODULUS 24
    'efter at vi har omskrevet resterende minutter til hele timer
    timer = ((tid-minutter)/60) MOD 24

    'antallet af hele dage
    'findes ved at vi fratrækker minutter og timer fra den oprindelige tid
    'hvorefter vi dividerer med 60(til timer) og derefter med 24(til dage)
    dage = (((tid-minutter-(timer*60))/60)/24)
   
    udregnTid = dage & " dage " & timer & " timer " & minutter & " minutter."
   
End Function
%>
Avatar billede vbcoder Nybegynder
27. april 2004 - 11:06 #2
der var lige en lille bøf i den sidste udregning skulle være timer/60 istedet for timer*60

<%
Function udregnTid(tid)

    'paramteren tid er minutter fra anden funktion
    'vb funktionen MOD returnerer resten efter en division med et givet tal
   
    Dim dage
    Dim timer
    Dim minutter
 
    ' sørg for at tid er et langt heltal
    tid = CLng(tid)
   
    dage = 0
    timer = 0
    minutter = 0

    'antallet af minutter udover antallet af timer
    'findes ved MODULUS 60
    minutter = tid MOD 60   

    'antallet af timer udover antallet af dage
    'findes ved MODULUS 24
    'efter at vi har omskrevet resterende minutter til hele timer
    timer = ((tid-minutter)/60) MOD 24

    'antallet af hele dage
    'findes ved at vi fratrækker minutter og timer fra den oprindelige tid
    'hvorefter vi dividerer med 60(til timer) og derefter med 24(til dage)
    dage = (((tid-minutter-(timer/60))/60)/24)
   
    udregnTid = dage & " dage " & timer & " timer " & minutter & " minutter."
   
End Function
%>
Avatar billede nummer8 Nybegynder
27. april 2004 - 11:13 #3
Tror nu den første du har lavet passer meget godt for den anden giver dage som fx 2,1666666..... etc og det gør den anden ikke. Men man kan os rette den anden ved at lave den her "dage = (((tid-minutter-(timer/60))/60)/24)" om til "dage = (((tid-minutter-(timer/60))/60)\24)"

Hvad synes du jeg skal bruge ?

dage = (((tid-minutter-(timer/60))/60)\24)
eller
dage = (((tid-minutter-(timer*60))/60)/24)
Avatar billede vbcoder Nybegynder
27. april 2004 - 11:27 #4
den sidste formel drillede mig lidt

<%
Function udregnTid(tid)

    'paramteren tid er minutter fra anden funktion
    'vb funktionen MOD returnerer resten efter en division med et givet tal
   
    Dim dage
    Dim timer
    Dim minutter
 
    ' sørg for at tid er et langt heltal
    tid = CLng(tid)
   
    dage = 0
    timer = 0
    minutter = 0

    'antallet af minutter udover antallet af timer
    'findes ved MODULUS 60
    minutter = tid MOD 60   

    'antallet af timer udover antallet af dage
    'findes ved MODULUS 24
    'efter at vi har omskrevet resterende minutter til hele timer
    timer = ((tid-minutter)/60) MOD 24

    'antallet af hele dage
    'efter at vi har omskrevet resterende timer til dage
    dage = (((tid-minutter)/60) - (((tid-minutter)/60) MOD 24)) / 24 
       
    udregnTid = dage & " dage " & timer & " timer " & minutter & " minutter."
   
End Function
%>
Avatar billede nummer8 Nybegynder
27. april 2004 - 11:50 #5
Nice nok. det virker helt som det skal :)

Ville os lige sige tak igen for det andet du har lavet for mig ;)
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