microtime in sekunden oder stunden oder min umwandlung [duplicate]

Lesezeit: 3 Minuten

Ich habe die Startzeit des Geschäfts als microtime() und die Endzeit als microtime() in der Datenbank.

Jetzt möchte ich berechnen, wie lange das Skript für die Ausführung der Sekunden/Minuten/Stunden benötigt.

Wie kann ich in PHP tun?

Benutzeravatar von oezi
Özi

im grunde so:

echo date("H:i:s",$endtime-$starttime);

$endtime-$starttime gibt die Dauer in Sekunden an, Datum wird verwendet, um die Ausgabe zu formatieren. Klingt so, als ob das Speichern in und Lesen aus einer Datenbank hier nicht Ihr Problem ist, also habe ich das in meinem Beispiel weggelassen. Beachten Sie, dass Sie verwenden müssen microtime(true) um dies zum Laufen zu bringen, mit der durch Leerzeichen getrennten Ausgabe von microtime() So einfach kann man nicht rechnen.

BEARBEITEN: Sie könnte rechnen Sie auch selbst. es ist nur grundlegende Mathematik wie diese:

$duration = $endtime-$starttime;
$hours = (int)($duration/60/60);
$minutes = (int)($duration/60)-$hours*60;
$seconds = (int)$duration-$hours*60*60-$minutes*60;

  • Ihr erstes Beispiel wird nicht immer funktionieren. microtime gibt einen Unix-Zeitstempel zurück, der offensichtlich am 1.1.70 00:00:00 UTC beginnt. Wenn $endtime - $starttime größer als 24 Stunden ist, würde der zurückgegebene Diff-Zeitstempel den 1.2.70 01:00:00 UTC darstellen (unter der Annahme, dass es genau 25 Stunden sind). Formatieren Sie dies als H:i:s Würde geben 01:00:00was eine Stunde zu sein scheint.

    – Adam Hopkinson

    24. Juni 2011 um 13:19 Uhr


  • Es könnte sich auch lohnen, in Ihrem zweiten Beispiel darauf hinzuweisen microtime() gibt eine Zeichenfolge von zurück timestamp<space>microseconds – Sie können damit nicht rechnen, also müssen Sie verwenden microtime(true) einen Schwimmer zu bekommen

    – Adam Hopkinson

    24. Juni 2011 um 13:22 Uhr

  • oh, danke für den hinweis adam, daran habe ich nicht gedacht, aber du hast recht: wenn die dauer mehr als 24 stunden betragen könnte, würde meine erste lösung nicht funktionieren – man müsste “d” hinzufügen (und “m” und “Y” wenn nötig), um auch die Anzahl der Tage auszugeben oder die Berechnung manuell durchzuführen (wie mein zweites Beispiel zeigt)

    – özi

    24. Juni 2011 um 13:25 Uhr


  • Ja, aber d würde Sie nur zu 31 Tagen bringen! Es ist nebenbei, wie das PHP-Ausführungszeitlimit sollte noch nie Lassen Sie ein Skript so lange laufen

    – Adam Hopkinson

    24. Juni 2011 um 13:27 Uhr

  • zu deinem zweiten kommentar: ich habe meinem beitrag einen hinweis hinzugefügt. Ich nehme an, dass Vinothkumar Microtime (true) verwendet, um eine Fließkommazahl anstelle eines Strings zu speichern, aber er hat keine genauen Informationen darüber gegeben.

    – özi

    24. Juni 2011 um 13:38 Uhr

Benutzeravatar von user2754369
Benutzer2754369

microtime in sekunden oder stunden oder min umwandlung?

Mikrozeit ist der Name der PHP-Funktion, die ein Zeitmaß in Mikrosekunden zurückgibt, und im Grunde können Mikrosekunden umgewandelt werden in:


    1 milliseconds = 1,000 microseconds
    1 second       = 1,000,000 microseconds
    1 minute       = 60,000,000 microseconds
    1 hour         = 3,600,000,000 microseconds


    or


    1 microsecond = 0.001 milliseconds
    1 microsecond = 0.000001 seconds
    1 microsecond = 0.0000000166666667 minutes
    1 microsecond = 0.000000000277777778 hours

Benutzeravatar von ahmed reda
Ahmed Reda

function formatPeriod($endtime, $starttime)
{

  $duration = $endtime - $starttime;

  $hours = (int) ($duration / 60 / 60);

  $minutes = (int) ($duration / 60) - $hours * 60;

  $seconds = (int) $duration - $hours * 60 * 60 - $minutes * 60;

  return ($hours == 0 ? "00":$hours) . ":" . ($minutes == 0 ? "00":($minutes < 10? "0".$minutes:$minutes)) . ":" . ($seconds == 0 ? "00":($seconds < 10? "0".$seconds:$seconds));
}

Wenn Sie Zeit haben A und eine Zeit Bin Sekunden, dann ist die Anzahl der Sekunden zwischen diesen beiden absoluten Zeiten:

B - A

Wenn Sie diese Anzahl von Sekunden formatieren möchten, können Sie verwenden date es zu verschönern.

1404940cookie-checkmicrotime in sekunden oder stunden oder min umwandlung [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy