Maison  >  Article  >  développement back-end  >  Comment obtenir l'horodatage actuel en millisecondes en php

Comment obtenir l'horodatage actuel en millisecondes en php

coldplay.xixi
coldplay.xixioriginal
2020-09-29 13:46:2719800parcourir

Comment obtenir l'horodatage actuel en millisecondes en PHP : utilisez la fonction [microtime()] pour l'obtenir, le code est [list($msec, $sec) = éclater(' ', microtime()) ;].

Comment obtenir l'horodatage actuel en millisecondes en php

Méthode PHP pour obtenir l'horodatage actuel en millisecondes :

fournit une fonction microtime(), si elle est appelée sans option paramètres, cette fonction renvoie une chaîne au format "msec sec", où sec est le nombre de secondes depuis l'époque Unix (0:00:00 1er janvier 1970 GMT) et msec est la partie en microsecondes. Les deux parties de la chaîne sont renvoyées en secondes.

Description détaillée de la fonction microtime()

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

Notez que le résultat est divisé en deux parties, c'est-à-dire que la première moitié est en millisecondes (mais l'unité est en secondes ), la seconde moitié est constituée de secondes.

Maintenant, nous apportons des modifications en fonction de cela, comme suit :

<?php
list($msec, $sec) = explode(&#39; &#39;, microtime());
$msectime = (float)sprintf(&#39;%.0f&#39;, (floatval($msec) + floatval($sec)) * 1000);

Ça y est, $msectime est le nombre actuel de millisecondes ! Ces deux lignes peuvent être encapsulées dans une fonction pour une utilisation facile.

<?php
//返回当前的毫秒时间戳
function msectime() {
  list($msec, $sec) = explode(&#39; &#39;, microtime());
  $msectime = (float)sprintf(&#39;%.0f&#39;, (floatval($msec) + floatval($sec)) * 1000);
  return $msectime;
}

Remarque : sprintf('%.0f', $num) génère un nombre à virgule flottante sans partie décimale

Le problème n'est pas encore terminé après avoir modifié l'horodatage au niveau de la milliseconde. , Lorsque les données de la base de données ont été à nouveau mises à jour, il a été demandé qu'elles étaient hors de portée. Il s'est avéré que j'avais utilisé le type int pour stocker l'horodatage de deuxième niveau obtenu par la fonction time() dans la base de données. . Si je l'ai changé au niveau milliseconde, j'ai dû le changer. Il est de type BIGINT.

Type entier Octets Plage (signée) Plage (non signée) Utilisation

TINYINT 1 octet (-128,127) (0,255) Petits entiers Valeurs

SMALLINT 2 octets (-32 768, 32 767) (0, 65 535) Grande valeur entière

MEDIUMINT 3 octets (-8 388 608, 8 388 607) (0 , 16 777 215) Grande valeur entière

INT ou INTEGER 4 octets (-2 147 483 648, 2 147 483 647) (0, 4 294 967 295) Grande valeur entière

BIGINT 8 octets (-9 233 372 036 854 775 808, 9 223 372 036 854 775 807) (0, 18 446 744 073 709 551 615) Valeur entière très grande

Vous voulez en savoir plus sur la programmation Pour apprendre, veuillez faire attention au
Colonne 🎜>formation php

 !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn