Maison  >  Questions et réponses  >  le corps du texte

DateTime::__construct() prend-il en charge les millisecondes dans PHP 7.1

Il existe des informations montrant que dans la version 7.1, DateTime::__construct() peut déjà prendre en charge les millisecondes. Et soulignez spécifiquement :

Cela signifie que les comparaisons naïves de deux instances nouvellement créées renverront désormais plus probablement FAUX au lieu de VRAI : new DateTime() == new DateTime()

Cependant, dans mon code, la partie milliseconde est toujours "000000", quel est le problème :

<?php
for ($i = 0; $i < 10000; ++$i) {
    $date = new DateTime();
//    if ($date->format('u') != '000000') {
        file_put_contents('./msec.log', "$i:\t" . $date->format('s.u') . PHP_EOL, FILE_APPEND);
//    }
}

Sortie :

0:      51.000000
1:      51.000000
2:      51.000000
……
4999:   51.000000
5000:   51.000000
5001:   51.000000
……
9997:   51.000000
9998:   51.000000
9999:   51.000000
PHP中文网PHP中文网2704 Il y a quelques jours846

répondre à tous(2)je répondrai

  • 漂亮男人

    漂亮男人2017-05-24 11:36:12

    Oui, le document dit qu'il a été ajouté dans php5.2.2, mais j'ai trouvé le même problème après le test et je n'ai pu renvoyer que 000000

    Mais vous pouvez utiliser cette fonction : microtime()

    répondre
    0
  • 習慣沉默

    習慣沉默2017-05-24 11:36:12

    Je l'ai testé localement.

    • 7.0, affichant « 000000 »

    • 7.1, affichant des données réelles.
      Alors, êtes-vous sûr que l'environnement dans lequel vous exécutez le code est 7.1 ?

    répondre
    0
  • Annulerrépondre