1

我正在开发一个使用 Comet 将数据传输回 Web 客户端的网站。我的应用程序对时间非常敏感,我有一个图表显示每秒添加的点。

由于 Web 应用程序是 Comet 驱动的,因此客户端不需要处理日期,它应该只使用服务器时间戳来显示信息。即图表上的绘图点应在工具提示中显示服务器时间戳,无论用户的时区如何。

我认为我最好的方法是使用 REST 检索服务器的时间戳。然后测量服务器和客户端时间之间的时区偏移,加/减差值并将其用作客户端的时间戳以进行显示。

有没有办法覆盖默认行为new Date()以导致我将服务器的时间戳作为本地时间戳?

非常感谢。

4

2 回答 2

1

我编写了库TimeShift.js,它允许覆盖 Date 构造函数并设置当前时间和时区。我写它是为了测试目的,但它也可以用于其他用途。

请务必检查当前库的警告。它目前仅支持与 GMT 的固定偏移量,因此不支持 DST 更改。

于 2013-08-25T19:18:16.800 回答
0

只需重新定义它,它应该可以正常工作:

if(Date) {
    try{
        Date = null;
        Date = function() {
            console.log("The more things change, the more they stay the same!");
        }
        Date();
    } catch(exeption) {
        console.log("Couldn't override Date object.");
    }
}
于 2012-06-04T18:30:40.023 回答