找出 JS 和 PHP 中的时间戳之间的区别

find difference beetwwen timestamps in JS and PHP

我对两个时间戳之间的计数差异有疑问。页面加载时,我将值输入设置为:

$test_start.val(new Date().getTime()); //e.g. equal to 1424157813

然后我通过 ajax 提交表单,在处理程序 php 脚本中我得到 time() ,什么等于到 1424157806949,所以你怎么能在 php 中看到时间戳更长,而这个:

function diffTime($endTime, $spendTime)
{
    $diff = $endTime - $spendTime;
    $years = floor($diff / (365 * 60 * 60 * 24));
    $months = floor(($diff - $years * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24));
     $days = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24) / (60 * 60 * 24));
    $hours = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24 - $days * 60 * 60 * 24) / (60 * 60));
   $minutes = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24 - $days * 60 * 60 * 24 - $hours * 60 * 60) / 60);
   $seconds = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24 - $days * 60 * 60 * 24 - $hours * 60 * 60 - $minutes * 60));
   $time = $hours . "hours, " . $minutes . "minutes, " . $seconds . "seconds";

   return $time;
 }

它 return 例如7 小时等。那么我该如何解决呢?有人可以帮我吗?谢谢!

JS 时间戳以毫秒为单位,PHP 以秒为单位。你必须将 PHP 的一乘以 1000 或将 JS 的一除以 1000.