Javascript 和 PHP 之间的时间戳

2022-08-30 16:38:55

Javascript:

我有带有日期的对象单元格

params.date = cell.getDate();
params.timestamp = cell.getDate().getTime() / 1000;
console.log(params);

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

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

$date = '1368028800';
echo date('Y-m-d', $date);

2013-05-08

一天内的差异。为什么?


答案 1

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

它输出的将是毫秒的插曲

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

     </script>

输出 : 1386746353000

其中,作为 php 日期对象时间戳秒的插接

<?php 
        $date = new DateTime();
        echo $current_timestamp = $date->getTimestamp();
     ?>

输出: 1386746353

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


答案 2
params.date = cell.getDate();

返回日期而不是时间。

params.timestamp = cell.getDate().getTime() / 1000;

将日期转换为日期+时间 - 不读取当前时间。

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