Heim  >  Fragen und Antworten  >  Hauptteil

Unterstützt DateTime::__construct() Millisekunden in PHP 7.1?

Es gibt Informationen, die zeigen, dass DateTime::__construct() in Version 7.1 bereits Millisekunden unterstützen kann. Und betonen Sie ausdrücklich:

Das bedeutet, dass naive Vergleiche zweier neu erstellter Instanzen jetzt eher FALSE statt TRUE zurückgeben: new DateTime() == new DateTime()

Allerdings ist in meinem Code der Millisekundenteil immer „000000“, was ist das Problem:

<?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);
//    }
}

Ausgabe:

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 Tage vor847

Antworte allen(2)Ich werde antworten

  • 漂亮男人

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

    是的,文档中是说php5.2.2的时候新加的,但我测试后也发现同样的问题,只能返回000000

    但用这个函数是可以的:microtime()

    Antwort
    0
  • 習慣沉默

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

    我本地测试了。

    • 7.0 ,显示 ‘000000’

    • 7.1 ,显示真实数据了。
      所以,你运行代码的环境确定是 7.1 么。

    Antwort
    0
  • StornierenAntwort