将Javascript日期与php当前日期进行比较

时间:2017-05-13 17:30:09

标签: javascript php date time timestamp

我正在使用该功能:

var date = new Date();

在javascript中。它给出了以下输出

"Sat May 13 2017 22:19:25 GMT+0500 (Pakistan Standard Time)"

现在我将此日期嵌入到URL中,在服务器端,我将收到此日期。在服务器上我有一个PHP脚本,现在在这个脚本中我想比较从javascript客户端收到的日期与当前的PHP时间,并检查从javascript客户端发送的日期时区与当前的php日期时区之间的差异是否大于5分钟与否。

1 个答案:

答案 0 :(得分:0)

您应该使用时间戳比较。

JS:

var timestamp = (new Date()).getTime(); // send this to your php

PHP:

$timestampFromJs = intval($_GET["ts"]); // just made it up
$ts = time() * 1000; // js timestamp is milliseconds
if($ts - $timestampFromJs > 5000*60) ...

更新:如果您需要时区安全比较:

JS:

var timestamp = (new Date()).getTime();

PHP:

$timestampFromJs = intval($_GET["ts"]); // just made it up
$date_utc = new \DateTime("now", new \DateTimeZone("UTC"));
$ts = $date_utc->getTimestamp() * 1000; // js timestamp is milliseconds
if($ts - $timestampFromJs > 5000*60) ...