我有两个 ASCII 日期时间戳。最终我想得到秒和毫秒的差异。我尝试过使用 DateTime 类以及 Date() 函数。这两个似乎都截断了微秒,尽管日期格式的文档说该类保留它。
这是我到目前为止所得到的:
<?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";