我对JavaScript和PHP中的日期感到困惑。
<?php
$mydate = date('2012-05-02 17:00:00');
echo 'Today PHP --'.$mydate;
$mytimstamp = strtotime($mydate);
echo '<br/>My PHP unix time stamp --'.$mytimstamp;
echo '<br/>'; ?>
<script type="text/javascript">
document.write('My Javascript unix time stamp --'+new Date(Number('<?php echo $mytimstamp;?>')*1000));
</script>
输出
Today PHP -- 2012-05-02 17:00:00
My PHP unix time stamp --1335978000
My Javascript unix time stamp --Wed May 02 2012 22:30:00 GMT+0530 (India Standard Time)
为什么我在javascript中得到不同的时间????
您获得的时间相同,只是时区不同。
在PHP方面,你有GMT时间,在JavaScript方面你有印度时间。
看起来你来自印度。只要确保您了解时区的概念,并使用时区信息或 GMT/UTC 时间存储时间即可。这样,您应该避免错误地使用来自不同时区的时间戳的问题。如果您知道生成时间的时区,则以适合用户时区的形式显示此类时间变得微不足道。
如果您不更改时区,请像更改代码一样
<script type="text/javascript">
var d = new Date();
var offset = d.getTimezoneOffset();
document.write('My Javascript unix time stamp --'+new Date(Number(<?php echo (intval($mytimstamp));?> + offset*60 )*1000));
</script>
您的 PC 必须设置与运行 PHP 代码的服务器的时区不同的时区。
PHP 日期/时间是使用服务器的设置计算的,而 JavaScript 日期/时间是使用客户端 PC 设置计算的。
在javascript中取决于你的浏览器。你最好在你的javascript上解码日期格式。您将在不同的浏览器上获得另一个不同的日期。