如何从 PHP 向 javascript 方法 Date.setTime() 提供值?
-
21-08-2019 - |
题
是时间吗?是 time().substr(microtime(), 2, 2) 吗?是 time().substr(microtime(), 2, 3) 吗?
下面的片段有点迷失了。
function updateClock ( ) {
var timeStamp = <?php echo time().substr(microtime(), 2, 2);?>;
var currentTime = new Date ( );
currentTime.setTime( timeStamp );
...
...
}
我的目标是使用服务器时间并从客户端浏览器窗口上开始计时。上面的代码要么返回当前客户端计算机时间,要么返回 1973 年的某个时间。我想我没有得到 setTime() 的正确时间戳格式?
谢谢!
- 1000
我尝试过,但在我将 js.php(呈现 javascript 代码)上传到我的服务器后,网页仍然显示我的当地时间。我的服务器与我的时间相差大约 12 小时。我的猜测是 php 是否将客户端时间考虑到运行时间() ?我的意思是浏览器确实向 apache 发送请求时间,对吗?
我从服务器上运行的网页复制了 time() * 1000 返回值并将其粘贴到本地页面中:
<script type="text/javascript">
var d = new Date();
d.setTime(1233760568000);
document.write(d);
</script>
这确实是我当地时间。故此猜测。
有没有办法为 time() 指定时区?
其他提示
乘以 1000。JavaScript 期望毫秒,而 PHP 返回秒。
Date.setTime() 需要自 Unix 纪元以来的毫秒数,而 time() 返回自那时以来的秒数。如果不需要绝对精度(考虑到你的方法,我认为不需要),只需将从 time() 获得的值乘以 1000 即可。
编辑:被打两次--D'oh
不隶属于 StackOverflow