码迷,mamicode.com
首页 > 其他好文 > 详细

动态获取服务器时间

时间:2015-06-24 16:28:49      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:js 动态获取系统时间

最近在做的这个项目要获取到后台的数据,然后使用html5绘制曲线,以前都是在自己电脑上使用没有发现有什么不正常的地方,昨天连接同事的服务器发现有段数据怎么都对不上了,开始我还以为程序有问题呢,找了半天结构发现是我的电脑时间和同事的电脑时间对不上导致的。既然发现了问题下面就是找出解决办法了。

实际上最好的解决办法是固定客户端的时间,不然修改,但你会发现这个不可能的。所以只有找其他方式的。再有就是获取服务器时间然后同步到客户端了。实际上这个游戏三种方式可行。

1、既然是动态获取就每秒获取一次,这样能完成需求但是会很大的增加服务器的压力。

2、获取玩一次后,然后在客户端进行更新,这个能保证在开始的时候获取到的数据时正确的,但是后期不能保证数据的正确性。

3、在开始的时候获取一次,以后每过分钟再获取一次,这样能很大程度上减少服务器的压力,也能很大程度上保证数据的正确性。


获取服务器时间:

/**
 * 获取服务器时间
 */
function getServerTime()
{
<span style="white-space:pre">	</span>nowTime = new Date().getTime();
<span style="white-space:pre">	</span>$.ajax(
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>url : 'serverTime_getServerTime', type : 'GET', datatype : 'json',
<span style="white-space:pre">		</span>success : function(data)
<span style="white-space:pre">		</span>{
<span style="white-space:pre">			</span>/**
<span style="white-space:pre">			</span> * 判断对应的键值是否有对应的数据
<span style="white-space:pre">			</span> */
<span style="white-space:pre">			</span>if (data)
<span style="white-space:pre">			</span>{
<span style="white-space:pre">				</span>nowTime = data;
<span style="white-space:pre">			</span>}
<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>});
<span style="white-space:pre">	</span>return nowTime;
}


设置动态更新:

function setTime()
{
	if (timeInterval != 60000)
	{
		timeInterval += 1000;
		nowTime += 1000;
	} else
	{
		nowTime = getServerTime();
		timeInterval = 0;
	}
	$("#server_time").html(
			"服务器时间:" + new Date(nowTime).toString().substring(15, 24));
}

在页面加载的时候调用:

<span style="font-family: Arial, Helvetica, sans-serif;">window.onload = function()</span>
{
	nowTime = getServerTime();
	setInterval(setTime, 1000);
};

这样就能实现时间的动态刷新,但又不至于频繁的到后台请求数据了。







动态获取服务器时间

标签:js 动态获取系统时间

原文地址:http://blog.csdn.net/u012251421/article/details/46622651

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!