Maison > développement back-end > tutoriel php > PHP implémente une méthode pour obtenir l'horodatage actuel en millisecondes

PHP implémente une méthode pour obtenir l'horodatage actuel en millisecondes

小云云
Libérer: 2023-03-20 17:44:01
original
2486 Les gens l'ont consulté

Cet article vous présente principalement la méthode d'obtention de l'horodatage actuel en millisecondes en PHP. J'espère qu'il pourra vous aider.

Récemment, je travaille sur le backend d'un projet de maison intelligente. Il est nécessaire de télécharger les informations de configuration des appareils intelligents de l'utilisateur sur le serveur en temps réel pour la synchronisation. Par conséquent, la précision de l'heure est relativement élevée. . Au début, j'ai utilisé PHP directement. La fonction time() est utilisée pour obtenir l'horodatage. Si les clients fonctionnent en même temps, des conflits peuvent toujours survenir. pour augmenter la précision de l'horodatage au niveau de la milliseconde. Cependant, il n'y a pas de fonction intégrée dans PHP pour l'obtenir, mais une fonction microtime() est fournie. Si elle est appelée sans paramètres facultatifs, cette fonction renvoie une chaîne dans le fichier. format de "msec sec", où sec est l'époque Unix depuis le 1er janvier 1970 GMT à 0:00:00) puisque désormais, msec est la partie microseconde. Les deux parties de la chaîne sont renvoyées en secondes.

Cas :


  1. //Renvoyer l'horodatage actuel en millisecondes

  2. fonction msectime() {

  3. list($msec, $sec) = exploser (' ', microtime());

  4. $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000 );

  5. }

  6. 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 j'ai à nouveau mis à jour les données de la base de données, cela a provoqué un message hors de portée. Il s'avère que j'ai utilisé le type int pour stocker le. time() dans la base de données. La plage de stockage des horodatages au deuxième niveau est suffisante. Si vous la modifiez au niveau de la milliseconde, vous devez la modifier en type BIGINT.

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

    TINYINT 1 octet (-128, 127)                     (0, 255)                                                                                                                                                                                                                                      >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 8 07) ( 0, 18 446 744 073 709 551 615) Valeur entière maximale

  7. Recommandations associées :

Comment générer un horodatage en millisecondes en 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal