cari

Rumah  >  Soal Jawab  >  teks badan

Adakah DateTime::__construct() menyokong milisaat dalam PHP 7.1

Terdapat maklumat yang menunjukkan bahawa dalam versi 7.1, DateTime::__construct() sudah boleh menyokong milisaat. Dan secara khusus menekankan:

Ini bermakna bahawa perbandingan naif dua kejadian yang baru dibuat kini lebih berkemungkinan akan mengembalikan FALSE dan bukannya TRUE: new DateTime() == new DateTime()

Walau bagaimanapun, dalam kod saya, bahagian milisaat sentiasa "000000", apakah masalahnya:

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

Keluaran:

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中文网2782 hari yang lalu906

membalas semua(2)saya akan balas

  • 漂亮男人

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

    Ya, dokumen itu mengatakan ia telah ditambahkan dalam php5.2.2, tetapi saya menemui masalah yang sama selepas ujian dan hanya boleh mengembalikan 000000

    Tetapi anda boleh menggunakan fungsi ini: microtime()

    balas
    0
  • 習慣沉默

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

    Saya mengujinya secara tempatan.

    • 7.0, menunjukkan '000000'

    • 7.1, menunjukkan data sebenar.
      Jadi, adakah anda pasti persekitaran tempat anda menjalankan kod tersebut ialah 7.1?

    balas
    0
  • Batalbalas