Det er fra et automatiseringssystem og jeg bruger funktionen til tidstagning - hvor lang tid workflowet tog at udføre (behandling af en stribe pdf'er). Så har ikke et ordentligt taleksempel - disse forsvinder efter kørsel. Jeg kan blot se på den mail jeg har sat systemet til at sende af resultatet, at jeg ender med et forkert tal når jeg når udover en time. En nylig proces der ca tog 1 time og 10 minutter, endte på 1:54:53
Måske er det så rettere måden jeg genererer milisekunderne på? Ser nedenstående forkert ud?
I starten af workflowet har jeg dette script: var d = new Date(); Watch.SetVariable("tid", d.getTime());
I slutningen af workflowet har jeg dette script: var d = new Date(); var tidsForbrug = millisToTime(d.getTime()-parseInt(Watch.GetVariable("tid"))); Watch.SetVariable("tid", tidsForbrug);
"Watch" er til interne funktioner i Planetpress (som automatiseringssystemet hedder), men det siger vist sig selv hvad de gør. Planetpress benytter sig af styresystemets egen Javascript-fortolker, skulle den info være nyttig.
Du kunne jo også udskrive antal millisekunder, så du kan se om det er det tal, eller funktionen, der er forkert. Men en time og 10 minutter giver nu det rigtige resultat (testet i en browser):
millisToTime = function(ms){
x = ms / 1000; seconds = Math.round(x % 60); x /= 60; minutes = Math.round(x % 60); x /= 60; hours = Math.round(x % 24);
Jeg vil i hvert fald bruge Math.floor i stedet for Math.round.
Synes godt om
Ny brugerNybegynder
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.