FlipClock - 使用服务器时间而不是客户端时间
FlipClock - Use servertime instead of clienttime
我正在尝试在 7 个不同的 Raspberry Pis 上获取事件监视器。
他们都获得了加载了 FlipClock 的相同网页。
我的问题是:RasPis 上的时间不同。 (他们无法获得实际的 ptb-time,因为他们不允许连接到互联网)
我是这样称呼 Flipclock 的:
<script type="text/javascript">
var clock = $('.clock').FlipClock({
clockFace: 'TwentyFourHourClock',
showSeconds: false
});
我想我可以解决这个问题,如果我通过 PHP 获取实际日期并在加载 FlipClock 时设置它,如下所示:
clock.setTime($servertime);
但我无法让它工作..
我对此很陌生,所以是的,如果有人知道如何解决它,请帮助我:(
编辑:
这是我的新电话的样子:
<div class="clock"></div>
<script type="text/javascript">
var serverTime = <?= time() ?>;
var timeDifference = new Date - serverTime;
var clock = $('.clock').FlipClock(timeDifference,{
clockFace: 'TwentyFourHourClock',
showSeconds: false
});
</script>
但这让我的时钟变得奇怪,每次刷新都需要不同的小时和分钟。
Javascript只在客户端(浏览器)执行,所以不能获取服务器时间。
所以,你必须调用服务器来获取日期。
一种方法是使用 Ajax 并调用一个仅发送回服务器时间的简单脚本。
另一种方法是直接在脚本中实现服务器时间。
如果您使用 PHP,您可以将带有类似内容的 Time-Difference 发送到脚本:
<script>
var serverTime = <?= time() ?>
var timeDifference = new Date - serverTime;
</script>
另一种方法是在其中一个 Raspberry 上设置 NTP 服务器,这样所有其他人都可以在启动时从他那里获取时间。
这是您的解决方案:
http://raspberrypi.tomasgreno.cz/ntp-client-and-server.html
玩得开心!
这个线程帮助了我...但我最终设法用另一种方式做到了,我认为这更简单:
var serverTime = '<?php echo Date('H:i:s'); ?>';
var clock = $('#clock').FlipClock(serverTime,{
clockFace: 'TwentyFourHourClock',
});
我正在尝试在 7 个不同的 Raspberry Pis 上获取事件监视器。 他们都获得了加载了 FlipClock 的相同网页。
我的问题是:RasPis 上的时间不同。 (他们无法获得实际的 ptb-time,因为他们不允许连接到互联网)
我是这样称呼 Flipclock 的:
<script type="text/javascript">
var clock = $('.clock').FlipClock({
clockFace: 'TwentyFourHourClock',
showSeconds: false
});
我想我可以解决这个问题,如果我通过 PHP 获取实际日期并在加载 FlipClock 时设置它,如下所示:
clock.setTime($servertime);
但我无法让它工作..
我对此很陌生,所以是的,如果有人知道如何解决它,请帮助我:(
编辑: 这是我的新电话的样子:
<div class="clock"></div>
<script type="text/javascript">
var serverTime = <?= time() ?>;
var timeDifference = new Date - serverTime;
var clock = $('.clock').FlipClock(timeDifference,{
clockFace: 'TwentyFourHourClock',
showSeconds: false
});
</script>
但这让我的时钟变得奇怪,每次刷新都需要不同的小时和分钟。
Javascript只在客户端(浏览器)执行,所以不能获取服务器时间。 所以,你必须调用服务器来获取日期。 一种方法是使用 Ajax 并调用一个仅发送回服务器时间的简单脚本。
另一种方法是直接在脚本中实现服务器时间。 如果您使用 PHP,您可以将带有类似内容的 Time-Difference 发送到脚本:
<script>
var serverTime = <?= time() ?>
var timeDifference = new Date - serverTime;
</script>
另一种方法是在其中一个 Raspberry 上设置 NTP 服务器,这样所有其他人都可以在启动时从他那里获取时间。 这是您的解决方案: http://raspberrypi.tomasgreno.cz/ntp-client-and-server.html
玩得开心!
这个线程帮助了我...但我最终设法用另一种方式做到了,我认为这更简单:
var serverTime = '<?php echo Date('H:i:s'); ?>';
var clock = $('#clock').FlipClock(serverTime,{
clockFace: 'TwentyFourHourClock',
});