我有两个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 –