我在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中获得不同的时间????
答案 0 :(得分:1)
除了不同的时区外,你得到的时间相同。
在PHP方面,你有GMT时间,在JavaScript方面你有印度时间。
看起来你来自印度。只需确保您了解时区的概念,并将时间与时区信息或GMT / UTC时间一起存储。这样就可以避免错误地使用来自不同时区的时间戳。如果你知道生成它的时区,那么以适合用户时区的形式显示这样的时间就变得微不足道了。
答案 1 :(得分:1)
如果你不改变你的时区而不是改变你的代码,比如
<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>
答案 2 :(得分:0)
您的PC必须设置与运行PHP代码的服务器不同的时区。
PHP日期/时间是使用服务器的设置计算的,而JavaScript日期/时间是使用客户端PC设置计算的。
答案 3 :(得分:0)
在javascript中取决于您的浏览器。您最好在javascript上解码日期格式。您将在不同的浏览器上获得另一个不同的日期。