我有兩個ASCII日期時間標記。最終,我想要以秒和毫秒爲單位獲得差異。我試過使用DateTime類以及Date()函數。這兩個似乎都會縮短微秒,儘管日期格式的文檔說該類保留了它。PHP使用微秒將ASCII日期/時間標記轉換爲Unix時間
這裏是我到目前爲止有:
<?php
// test.datetimediff.php
echo "<pre>\n";
$tz = new DateTimeZone('America/Toronto');
echo print_r($tz, true) . "<br>\n";
/*
$dt1 = date('Y-m-d H:i:s.u', '2013-09-30 13:06:56.944');
$dt2 = date('Y-m-d H:i:s.u', '2013-09-30 13:06:56.979');
*/
$dt1 = new Datetime('2013-09-30 13:06:56.944', $tz);
$dt2 = new Datetime('2013-09-30 13:06:56.979', $tz);
echo print_r($dt1, true) . "<br>\n";
echo print_r($dt2, true) . "<br>\n";
$interval = $dt1->diff($dt2);
$seconds = $interval->format('%s');
echo 'seconds: ' . $seconds . "<br>\n";
echo "</pre>\n" . "<br>\n";
ASCII是一個字符編碼方案,不知道什麼是「ASCII日期」是 – 2013-09-30 19:28:04
相當肯定的DateTime不佔幾分之一秒。 – Sammitch
@Sammitch是對的 - https://bugs.php.net/bug.php?id=52519 –