2014-02-12 51 views
0
var h = new Date(timestamp*1000).getHours(); 

date('H', $timestamp) 

当我尝试时间戳从JavaScript转换,我接到了PHPJavaScript的转换时间戳从PHP

我怎样才能从PHP相同的值不同的值不同?

ex. 28800, java-> 19, php->00 
+1

JavaScript的时间戳以毫秒为单位。 PHP的不是。 –

+0

我已经做过1000次了 – Ben

+0

他的意思是除以1000,而不是乘以 – Machavity

回答

0

您必须将时间分配给javascript变量。

在你的JavaScript:

var server_time = '<?php print date("Y-m-d"); ?>'; 
0

是,这是我沿着面向整天的确切情况。

首先,JS时间戳以毫秒为单位,PHP不是。

我正在发送JS时间戳到PHP,并试图将其转换为PHP日期和所有错误。

所以这是我做了什么来解决问题

$jts = 1392143400000 ; // timestamp received from JS via ajax 
$ts = $jts/1000 
$date = date("Y-m-d",$ts); 

所以日期得到匹配。

现在问题2

  • 服务器是在美国东部时间时区,在任何特定的日期是从我的时间区域说IST上面也不起作用。

值得庆幸的是我的应用程序需要用户时区在注册时将存储在DB我解决了这个错配

$dt = new DateTime(); 
$ts = 1392143400000/1000 ; 
$dt->setTimezone(new DateTimeZone('Asia/Kolkata')); // Get the timezone from user id. 
$dt->setTimestamp($ts); 
$date = $dt->format('Y-m-d');