2

我有一个应用程序,它显示用户执行操作的时间倒计时。时间不是每个任务,而是实际时间戳。

例如,用户必须在今天 17:58:32 UTC+0 之前执行简单操作。

我正在从服务器获取操作和完成时间,然后继续显示倒计时。我创建空的 Date() 对象(以获取当前用户时间),从完成时间中减去它,并显示倒计时。

但这就是问题的根源。如果用户的计算机时间大幅减少,则会增加这种差异。服务器的结束时间与世界时间同步。当前时间,在用户机器上绘制的可能不是。

首先要考虑的是从服务器发送当前时间。但它不会是最新的。到它被使用的那一刻,它在服务器上生成后可能会经过 1、2 甚至 3 秒。缓慢的互联网连接,阻塞的 javascript 执行堆栈(插件,用户脚本)等。在我的应用程序中,秒很重要。

有什么可以做的来获得实际的,与javascript中的通用值时间同步吗?

4

1 回答 1

1

你永远不会让它们准确,但我怀疑在当前时间向服务器发出一些请求并获得客户端时钟的平均偏移量之后,你可以接近。

正如您所指出的,这种方法并非完美无缺,但可能尽可能接近。

于 2012-06-13T17:44:05.530 回答