10. september 2005 - 15:52Der er
11 kommentarer og 1 løsning
Formattere fra Millisekunder til Min/Timer?
Hejsa....
Jeg har følgende stykke kode. Hvis jeg udskriver koden er resultatet : 0,3333333333333330
Det tal skulle gerne være resultatet af 2 tidsregistreringer jeg trækker fra hinanden (TimeStamps).
Hvordan pokker får jeg dem konverteret, så jeg skal udskrive nogle bruge bare informationer??? Dvs. jeg ønsker at få en variabel med Timer og en med Minutter.
Jeg går ud fra at det er noget med at man skal dividere og gange, men jeg kan ikke lige gennemskue hvad der skal ganges med hvad osv.
En hjælpende hånd ville være dejligt!
----------------
<% Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "SELECT SUM((USER_CHECK_OUT-USER_CHECK_IN)/24/60/60/1000) ON_WORK " &_ "FROM register WHERE ( CUSTOMER=8616 AND '2005-09-08 05:00'<=USER_CHECK_IN AND USER_CHECK_IN<'2005-09-09 05:00') ",strConnect ----------------
1 milisekund er vel en tusindedel sekund Så hvis du dividerer med 1000 så har du antal sekunder, og derfra kan du så igen divider med 60for at få antal minutter og så igen dividere med 60 for at få antal timer Du har jo selv skrevet den omvendte i din sql som "(USER_CHECK_OUT-USER_CHECK_IN)/24/60/60/1000)" :o) -- Men man kan jo så sige at hvis du får 0,33333 mili sekunder, ja så er det ikke særlig spændende at regne om da det giver 0min og 0timer
På den anden side er det vel også rimeligt at en person som kun har været på arbejde i 0,33333 millisekunder ikke bliver beregnet som til stede ;D
Bort set fra det, så synes jeg det ser ud til at du har regnet om i dage, hvilket jo giver mening (altså omkring 8,5 timer). Jeg tror din SQL skal se nogenlunde således ud:
SELECT SUM((USER_CHECK_OUT-USER_CHECK_IN)/60/60/1000) + ':' + SUM((USER_CHECK_OUT-USER_CHECK_IN)/60/1000) ON_WORK FROM register WHERE CUSTOMER=8616 AND '2005-09-08 05:00' <= USER_CHECK_IN AND USER_CHECK_IN<'2005-09-09 05:00'
Ok. Jeg har nu fået styr på begregningen af antal brugte timer pr. medarbejder gruppe, som jeg var ude efter.
Jeg har fået lavet det hele om til en stor SQL, så går det lige 20 gange stærkere.
Jeg får nu printet mit resultatet ud i min. F.eks. : 1445 min. Hvis jeg dividerer med 60 får jeg jo timer. Men det bliver et sindsygt tal som hedder : 24,0833333333333
Det skulle jo gerne blive til et brugbart tal med antal timer og antal min. ala XX Timer XX Min.
Nogen ide om hvordan man får 1445 MIN til at se pænt ud med angivelse af antal timer og min????
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.