Tijd tussen 2 klikken

Status
Niet open voor verdere reacties.

Sven2007

Gebruiker
Lid geworden
8 feb 2007
Berichten
113
Ik wil de tijd noteren tussen het klikken op knop start en knop stop...
Ik deed het met onderstaande code maar het aantal seconden klopt nooit. Het is altijd veeeel te veeel...

PHP:
function getmicrotime() { 
    list($usec, $sec) = explode(" ",microtime()); 
    return ((float)$usec + (float)$sec); 
} 

 
     if($_POST['start']=="Start"){ 
    $time_start = getmicrotime(); 
     } 
     if($_POST['stop']=="Stop"){ 
    $time_end = getmicrotime(); 
    $time = $time_end - $time_start; 

    echo "Niets gedaan in $time seconden"; 

    }
 
Zodra jij op "stop" drukt, heeft je time-start variabele geen waarde meer.
Wat je zou kunnen doen is in het formulier een hidden field opnemen en hierin dan die startwaarde neerzetten, zodra je op de start knop drukt.
Deze waarde lees je dan weer uit zodra je op stop drukt :)


Oftewel:
PHP:
function getmicrotime() {
    //Verkorte versie:
    return array_sum(explode(" ", microtime()));
    //list($usec, $sec) = explode(" ",microtime()); 
    //return ((float)$usec + (float)$sec); 
} 

 
if ($_POST['start']=="Start") {
    $time_start = getmicrotime(); 
} 

if ($_POST['stop']=="Stop") {
    $time_end = getmicrotime(); 
    $time = $time_end - $_POST['starttime']; 

    echo "Niets gedaan in $time seconden"; 
}

//In je formulier:
<input type = "hidden" name = "starttime" value = "$time_start"/>
 
Laatst bewerkt:
Ik hoop dat je doorhebt dat microtime() een tijd terug geeft in micro seconde, ofwel duizendste van een seconde?
 
Ik hoop dat je doorhebt dat microtime() een tijd terug geeft in micro seconde, ofwel duizendste van een seconde?

Ik zou de documentatie eens doorlezen ;)
When called without the optional argument, this function returns the string "msec sec" where sec is the current time measured in the number of seconds since the Unix Epoch (0:00:00 January 1, 1970 GMT), and msec is the microseconds part. Both portions of the string are returned in units of seconds.

Oftewel: de functie microtime() geeft 2 waardes terug: het eerste is microseconden en het 2e is seconden. Als je deze 2 bij elkaar optelt heb je dus seconden + microseconden.
Dus het antwoord is nog steeds in seconden ;)

Deze functie geeft dus ook microseconden terug :)
 
mja, ik had alleen maar de eerste regel gelezen:

microtime — Geef huidige UNIX timestamp met microseconden
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan