比较客户端和服务器系统时间的差异(Javascript和c#)
Compare Difference in Client and Server System times (Javascript and C#)
我希望比较客户端的系统时间(使用javascript)与服务器的时间(在c#中)。目前我正在使用:
抢占客户端的时间var d = new Date();
var time = d.getTime();
返回从某个日期开始以毫秒为单位的时间。
然后我在服务器上运行DateTime.Now
以获得时间。这是在客户机上完成的最后一件事,也是在服务器上完成的第一件事。然后,差异将作为元素添加到浏览器指纹中。
我不确定这是否是找到这些时间的最佳方法,或者将这些时间与时间进行比较的最佳方法是什么。我正在寻找一种方法来比较从客户端获得的时间和从服务器获得的时间的毫秒差异,无论是通过转换不同格式的时间,还是以不同的方式请求时间
实际的计算取决于您想要计算它的位置(在客户机上还是在服务器上)。不过,最重要的是决定以哪种格式进行实际的区分。当使用getTime()
时,JavaScript返回自UNIX纪元以来的毫秒数。您可以很容易地在c#中计算相同的时间对象,查看此链接以获得更多关于在c#中计算UNIX纪元的信息。这将为您提供两个具有毫秒数的变量,可以很容易地用于添加/减去,以比较服务器和客户端之间的时间差异。
您可能还应该检查服务器和客户端之间的时区差异。您可以使用以下命令获取客户端的本地时区偏移量到UTC时区:
var offset = new Date().getTimezoneOffset();
编辑:@RobG公正地指出UNIX纪元总是基于UTC,因此不需要进行时区计算。
相关文章:
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 从javascript客户端验证REST服务
- 无法使用javascript客户端访问远程web服务
- 在javascript客户端和java服务器之间共享Google Analytics ClientID
- 应用程序引擎终结点:用于OAuth2授权的Javascript客户端库需要多个弹出窗口
- 使用Javascript客户端进行REST基本身份验证的安全缺陷是什么(如果有的话)
- 如何从Python服务器获取到Javascript客户端
- 在Javascript客户端中隐藏基本的身份验证凭据
- Postback与Javascript客户端计算
- 有没有办法使用Google's Javascript客户端登录时没有弹出窗口
- javascript客户端ORM的框架
- 如何使用javascript客户端设置Python服务器端
- Firebase服务器发送事件-如何构建Java/JavaScript客户端
- Javascript客户端从ASP.NET MVC后端延迟加载模型
- 当将从javascript客户端调用javaapi时,在javaapi中使用2d数组
- javascript客户端中的服务器端数据绑定
- 在javascript(客户端)中跨多个窗口共享数据
- Javascript客户端提供哪些数据库,不包括特定于浏览器的数据库
- 如何将Node.js服务器数据发送到Javascript客户端
- javascript客户端安全性