Javascript日期函数返回错误的日期(当前PHP时间戳已传递给它)
我正在尝试用javascript获取当前服务器日期时间。所以我将php日期时间戳传递给javascript日期函数,但javascript的日期相差一天。 下面是我的代码:Javascript日期函数返回错误的日期(当前PHP时间戳已传递给它),javascript,php,date,Javascript,Php,Date,我正在尝试用javascript获取当前服务器日期时间。所以我将php日期时间戳传递给javascript日期函数,但javascript的日期相差一天。 下面是我的代码: function showRemaining() { <?php $current_date = date("m/d/y H:i:s"); $date = strtotime($current_date) * 1000;
function showRemaining() {
<?php
$current_date = date("m/d/y H:i:s");
$date = strtotime($current_date) * 1000;
?>
alert('<?php echo $current_date;?>'); //alerts 12/04/15 05:42:14
var now = new Date(<?php echo $date;?>);
alert(now); //alerts Thu Dec 03 2015 21:42:14 GMT-0800 (Pacific Standard Time)
}
函数showlaining(){
警报(“”);//警报12/04/15 05:42:14
var now=新日期();
警报(现在);//警报周四2015年12月3日21:42:14 GMT-0800(太平洋标准时间)
}
我想让它显示今天的日期,即12月4日。你有没有考虑过自己电脑中时区的差异?我在mongoDB上也遇到了同样的问题,它只是一直把时间往后拨了2个小时 阿姆斯特丹与日光节约=+2小时
只需检查电脑上的时间设置,如果没有问题,可以从时间中加上或减去几个小时,直到获得正确的日期。请注意,两者显示的时间完全相同(
05:42:14 UTC
=21:42:14 GMT-0800
)
基于我的快速搜索,没有简单的方法告诉JavaScript在本地时区以外的其他时区打印日期
因此,根据您的用例:
Date
对象包含正确的日期,那么它已经包含了正确的日期(当您发布问题时,实际上是PST中的21:42)var offset=new date().getTimezoneOffset();
),计算它们之间的差异,并在从服务器收到的日期的基础上加上这么多小时。然后只需使用一些不打印时区的日期格式(描述了许多方法)$current_date=日期(“m/d/y H:i:s”);
$date=strottime($current_date)*1000;
可替换为:
time() * 1000
适当设置时区@MyWay我的时区在PHP中被适当地设置为date_default_timezone_set('America/Toronto');正如我在上面的问题中已经指出的那样,PHP根据时区集(即12月4日)为我提供了正确的时间,但在将其传递给javascript日期对象时,它为我提供了12月3日。这就是我的问题。看到这个我希望它能帮助你