Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie den aktuellen Zeitstempel in PHP auf Millisekunden genau

So erhalten Sie den aktuellen Zeitstempel in PHP auf Millisekunden genau

小云云
小云云Original
2018-03-14 15:30:4913600Durchsuche

PHP verfügt nicht über eine eigene Funktion zum Abrufen von Millisekunden-Zeitstempeln, stellt jedoch eine microtime()-Funktion bereit. Wenn diese Funktion ohne optionale Parameter aufgerufen wird, gibt sie eine Zeichenfolge im Format „msec sec“ zurück die Anzahl der Sekunden seit der Unix-Epoche (0:00:00 1. Januar 1970 GMT) und msec ist der Mikrosekundenanteil. Beide Teile der Zeichenfolge werden in Sekunden zurückgegeben.

<?php
echo microtime();
//输出结果是
//0.25139300 1138197510

Beachten Sie, dass das Ergebnis in zwei Teile unterteilt ist, dh die erste Hälfte besteht aus Millisekunden (die Einheit ist jedoch Sekunden) und die zweite Hälfte aus Sekunden.
Nun nehmen wir darauf basierende Änderungen wie folgt vor:

<?php
list($msec, $sec) = explode(&#39; &#39;, microtime());
$msectime =  (float)sprintf(&#39;%.0f&#39;, (floatval($msec) + floatval($sec)) * 1000);
这样就可以了,$msectime就是当前的毫秒数!可以将这两行封装成一个函数方便使用。
<?php
//返回当前的毫秒时间戳
function msectime() {
  list($msec, $sec) = explode(&#39; &#39;, microtime());
  $msectime =  (float)sprintf(&#39;%.0f&#39;, (floatval($msec) + floatval($sec)) * 1000);
}

Hinweis: sprintf('%.0f', $num) gibt eine Gleitkommazahl ohne Dezimalteil aus

Die Dinge sind noch nicht vorbei. Als ich die Datenbankdaten erneut aktualisierte, wurde mir angezeigt, dass sie außerhalb des zulässigen Bereichs lagen. Es stellte sich heraus, dass ich den Typ int in der Datenbank verwendet hatte Speichern Sie die zweite Ebene, die von der Funktion time() erhalten wird. Der Speicherbereich des Zeitstempels reicht aus. Wenn er auf die Millisekundenebene geändert wird, muss er in den Typ BIGINT geändert werden.

Integer-Bytes-Bereich (signiert) Bereich (nicht signiert) Verwendung

Tinyint 1 Byte (-128, 127) (0, 255)> Smallint 2 Bytes (-32 768, 32 767) (0, 65 535) Großer Ganzzahlwert

MEDIUMINT 3 Bytes (-8 388 608, 8 388 607) (0, 16 777 215) Großer Ganzzahlwert

INT oder INTEGER 4 Bytes ( -2 147 483 648, 2 147 483 647) (0, 4 294 967 295) Großer ganzzahliger Wert

BIGINT 8 Bytes (-9 233 372 036 854 775 808, 9 223 372 036 854 775. 80 7) ( 0, 18 446 744 073 709 551 615) Extrem großer ganzzahliger Wert

Verwandte Empfehlungen:

php-Implementierung So erhalten Sie den aktuellen Millisekunden-Zeitstempel

Detaillierte Erklärung der PHP-Funktion zum Abrufen des aktuellen Zeitstempels

PHP berechnet den Zeitunterschied zwischen zwei Zeitstempeln mit zwei Methoden

Das obige ist der detaillierte Inhalt vonSo erhalten Sie den aktuellen Zeitstempel in PHP auf Millisekunden genau. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn