比较客户端和服务器时间
Comparing client and server times
我有一个 Node.js 服务器,它查询 API 以接收如下的一组时间:
{
"end": "2014-05-24T14:00:00.000Z",
"start": "2014-05-24T11:00:00.000Z"
}
客户端的浏览器向服务器发出 AJAX GET 请求,传入客户端的本地时间(以毫秒为单位):
// ajax code
data: { localTime: (new Date()).getTime() }
// more ajax code
我想与服务器接收的时间进行比较,并检查它是否在 API 事件定义的时间间隔内。
API 返回的数据定义了东海岸的事件,当我将这些字符串传递到 Date 构造函数时,它们被解析为东部时区。
出现此问题的原因是夏令时,以及客户端可能与服务器或 EST 位于不同的时区。
尝试将所有时间转换为同一时区时,我变得非常困惑,所以我真的不确定我应该如何以最可靠的方式执行此操作。
任何帮助将不胜感激!
您可能不想使用(new Date()).getTime()
您可以改为考虑new Date().toISOString()
,它将返回与 end
和 start
相同格式的字符串。
下面是一个可运行的示例:
var times = {
"start": "2014-11-11T11:11:11.000Z",
"end": "2014-12-12T12:12:12.000Z"
}
var data = {
localTime: new Date().toISOString()
}
if (new Date(data.localTime) > new Date(times.start) && new Date(data.localTime) < new Date(times.end))
document.body.innerHTML = "Client time is within the interval";
else
document.body.innerHTML = "Client time is not within the interval";
相关文章:
- 显示具有服务器端自动时间注销的同步倒计时计时器
- HTTP服务器在一段时间后停止(Node.js)
- 显示服务器时间,包括时区偏移
- 套接字服务器在本地获得500毫秒的往返时间
- 获取用户和服务器时间之间的时间差
- 根据服务器时间禁用启用单选按钮
- 时刻.js + 实时戳时间前基于 UTC 来自服务器的日期时间
- 从服务器获取并传递给浏览器以在 Javascript 中格式化的日期时间格式
- 以特定时区的javascript获取服务器时间
- 如何在Node.js中获得服务器正常运行时间
- 来自服务器和本地时间的PHP或Javascript日期和时间代码
- 如何从服务器倒计时并在一段时间后触发事件
- 获取Web服务器时间并将其显示在网页上的正确方法
- 同步客户端和服务器端时间
- new Date返回NaN或从服务器日期()开始的错误时间
- 获取时间将图像从服务器加载到浏览器
- javascript客户端时间到php服务器时间
- Javascript 更改服务器给我的时间以匹配另一个时区
- 如何使用JavaScript从一些在线时间服务器上同步时间
- 从时间服务器获取时间并更新移动设备时间