javascript转换时间戳与PHP不同

时间:2014-02-12 18:35:26

标签: javascript php jquery

var h = new Date(timestamp*1000).getHours();

date('H', $timestamp)

当我尝试从javascript转换时间戳时,我从php获得了不同的值

如何从PHP获得相同的值?

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

2 个答案:

答案 0 :(得分:0)

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

在您的Javascript中:

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

答案 1 :(得分:0)

是的,这就是我整天面对的确切情况。

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

我正在向PHP发送JS时间戳并尝试将其转换为PHP日期,但一切都出错了。

所以这就是我为解决问题所做的工作

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

所以日期匹配。

现在问题2

  • 服务器位于美国东部时区,当我从我的时区发送任何特定日期时,说上述IST也不起作用。

谢天谢地,我的应用程序要求用户时区在注册时存储在数据库中我解决了这个不匹配问题

$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');