我可以使用javascript中的一些窗口变量或者使用计时器来跟踪不使用日期对象的已用时间吗?flash.utils.getTimer在这个应用程序的Flash版本中运行良好,我正在尝试将其移植到javascript.我无法冒险更改系统时钟导致安全问题,因此我不想使用Date对象.
我有一个servertimestamp,我想创建一个独立于操作系统时间的计时器来计算当前服务器时间.我将使用此计算值允许在服务器时间的Windows期间进行不同的操作.我不关心javascript黑客,因为我知道那里没有安全性,但我想防止临时用户搞乱某些功能的可用性.
谢谢
补充说明:
该项目涉及实时视频事件.实时视频具有相对于服务器的开始时间,通过另一个Web服务,我可以获取服务器时间.我需要做的是独立于用户的本地时间在客户端计算机上维护此服务器时间,以确定实时流何时应该在客户端上启动和停止.所以问题实际上并不是我存储服务器时间的格式,而是如何从不占用日期对象时获取服务器时间的时间.
您可以创建自己的计时器对象:
function Timer(init, precision) {
var start = time = new Date(init || null).valueOf(),
precision = precision || 100;
setInterval(function () { time += precision; }, precision);
this.elapsed = function() { return time - start; };
this.getDate = function() { return new Date(time); };
}
Run Code Online (Sandbox Code Playgroud)
并使用它:
var t = new Timer(); // default timer
/* ... do things ... */
alert( t.elapsed() ); // a millisecond value
alert( t.getDate() ); // a Date object
Run Code Online (Sandbox Code Playgroud)
使用该init参数以您喜欢的任何给定日期值启动计时器.