我正在使用该功能:
var date = new Date();
在javascript中。它给出了以下输出
"Sat May 13 2017 22:19:25 GMT+0500 (Pakistan Standard Time)"
现在我将此日期嵌入到URL中,在服务器端,我将收到此日期。在服务器上我有一个PHP脚本,现在在这个脚本中我想比较从javascript客户端收到的日期与当前的PHP时间,并检查从javascript客户端发送的日期时区与当前的php日期时区之间的差异是否大于5分钟与否。
答案 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) ...