Javascript和PHP之间的时间戳

ind*_*lic 19 javascript php timestamp

使用Javascript:

我有对象单元格的日期

params.date = cell.getDate();
params.timestamp = cell.getDate().getTime() / 1000;
console.log(params);
Run Code Online (Sandbox Code Playgroud)

对象{日期:2013年5月9日星期四00:00:00 GMT + 0800(中国标准时间),时间戳:1368028800}

然后我尝试在PHP中检查时间戳

$date = '1368028800';
echo date('Y-m-d', $date);
Run Code Online (Sandbox Code Playgroud)

2013年5月8日

一天的差异.为什么?

mun*_*uni 22

当您从Javacript日期对象获取时间戳时:

它的输出将是毫秒的中间值

 <script>
        var d = new Date();
        alert(d.getTime());

     </script>
Run Code Online (Sandbox Code Playgroud)

输出:1386746353000

其中php日期对象的时间戳为秒间隔

<?php 
        $date = new DateTime();
        echo $current_timestamp = $date->getTimestamp();
     ?>
Run Code Online (Sandbox Code Playgroud)

输出:1386746353

因此,当你要使用javascript日期对象时间戳与php日期对象时,你应该将javascript的时间戳除以1000并在php中使用它

  • 注意:在javascript中将时间戳除以1000将产生浮点数。得到一个整数~~(Date.now()/ 1000) (2认同)

sym*_*ean 6

params.date = cell.getDate();
Run Code Online (Sandbox Code Playgroud)

返回DATE而不是TIME.

params.timestamp = cell.getDate().getTime() / 1000;
Run Code Online (Sandbox Code Playgroud)

正在将日期转换为日期+时间 - 而不是读取当前时间.

但即使你在javascript中获得时间戳,PHP日期函数的输出也将取决于它所在的时区.

  • 谢谢.我在客户端上有PHP时区的UTC时区和中文时区.我该如何修改javascript? (2认同)