DateTime::__construct() prend-il en charge les millisecondes dans PHP 7.1
PHP中文网
PHP中文网 2017-05-24 11:34:12
0
2
874

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中文网

认证高级PHP讲师

répondre à tous(2)
漂亮男人

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()

習慣沉默

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 ?

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal