怎样获取服务器时间(要精确到秒哦)
程序集 窗口程序集1
子程序 _按钮1_被单击
局部变量 XML对象, 对象
局部变量 时间文本, 文本型
按钮1禁止 = 真
如果真 (XML对象创建 (“MSXML2XMLHTTP”, ) = 假)
如果真 (XML对象创建 (“MicrosoftXMLHTTP”, ) = 假)
返回 ()
如果真结束
如果真结束
XML对象方法 (“open”, 编辑框2内容, 编辑框1内容, 假)
XML对象方法 (“send”, )
时间文本 = XML对象读文本属性 (“getResponseHeader”, “Date”)
标签1标题 = “当前服务器时间为:” + 到文本 (时间格式化 (时间文本))
按钮1禁止 = 假
子程序 时间格式化, 日期时间型
参数 时间文本, 文本型
局部变量 临时数组, 文本型, , "0"
局部变量 临时变量, 文本型
局部变量 时间变量, 日期时间型
局部变量 临时时间, 日期时间型
局部变量 日, 文本型
局部变量 月, 文本型
局部变量 年, 文本型
局部变量 时, 文本型
局部变量 分, 文本型
局部变量 秒, 文本型
临时数组 = 分割文本 (时间文本, “, ”, )
临时变量 = 临时数组 [2]
临时变量 = 子文本替换 (临时变量, “ GMT”, , , , 真)
清除数组 (临时数组)
临时数组 = 分割文本 (临时变量, “ ”, )
日 = 临时数组 [1]
判断开始 (临时数组 [2] = “Jan”)
月 = “01”
判断 (临时数组 [2] = “Feb”)
月 = “02”
判断 (临时数组 [2] = “Mar”)
月 = “03”
判断 (临时数组 [2] = “Apr”)
月 = “04”
判断 (临时数组 [2] = “Mar”)
月 = “05”
判断 (临时数组 [2] = “Jun”)
月 = “06”
判断 (临时数组 [2] = “Jul”)
月 = “07”
判断 (临时数组 [2] = “Aug”)
月 = “08”
判断 (临时数组 [2] = “Sep”)
月 = “09”
判断 (临时数组 [2] = “Oct”)
月 = “10”
判断 (临时数组 [2] = “Nov”)
月 = “11”
判断 (临时数组 [2] = “Dec”)
月 = “12”
默认
判断结束
年 = 临时数组 [3]
临时变量 = 临时数组 [4]
清除数组 (临时数组)
临时数组 = 分割文本 (临时变量, “:”, )
时 = 到文本 (到整数 (临时数组 [1]))
分 = 临时数组 [2]
秒 = 临时数组 [3]
时间变量 = 到时间 (年 + “/” + 月 + “/” + 日 + “/” + 时 + “/” + 分 + “/” + 秒)
时间变量 = 增减时间 (时间变量, #小时, 8) ' 转换为北京时间
返回 (时间变量)
如果想返回服务器日期,时间包括秒,请用<%=now()%>
这里附带下:<%=date()%>显示日期 例如:2006-6-30
<%=Time()%>显示时间 例如:21:12:12
有以下几种情况1看样子你应该是以前可以进入MH,某一天开始进不去的吧,那么第一种,就是网速慢了,建议不要在网络高峰期游戏2此时的梦幻可能处于维护期,例如每星期二早8点开始,有1~2小时的维护时间,此时无法读取服务器,无法游戏,过了维护时间就好了3可能是因为死机导致某个系统文件破损,解决方法:在开始菜单中,点击“运行”,输入cmd,然后出现批处理文件的对话框(黑色的)后,输入chkdsk,这是WINDOWS自己的文件检测修复系统,在系统内有一些重要文件的备份,此时运行这个程序可以把错误的文件覆盖修复。如果还不行的话,,,估计就得找专业人士来维修了
具体来说有这么几种思路吧:
轮询,就像你说的那样不间断的和服务器通信,比如每秒甚至更短就发起一次请求获取服务器时间,然后利用Ajax的readyState来确定从请求发起到收到回复过去的时间不会太长。
WebSocket,利用WebSocket来实时通信。
服务器当然不会蹦掉……而且如果你要做的是一个倒计时那情况就更简单了,比如说在倒计时结束之前服务器对这些请求都不回复,让请求TimeOut,只有在倒计时结束后才回复给客户端,这样就能节省流量。
而且现在有很多这种免费的时间API服务。这里: wwwtimeapiorg/ 就是一个。这个API会直接返回UTC字符串。如果担心服务器压力的话用这种服务就好了。
另外,很重要的一点要提醒你。不论是什么数据,不论是不是从客户端上提取出来的,只要是在客户端上处理的就必须默认这个数据不可靠。不论你怎么从服务器获取时间,你都要认为这个时间很有可能已经被动过了。如果是抽奖这样的任务的话必须全程在服务器上处理。客户端代码关于数据的功能只有两个:向用户显示数据,从用户提取数据。
PHP获取服务器时间和本地时间很简单,可以用内置函数实现,具体代码如下:
记得给分!!!
<php
//获取服务器时间
echo date("Y-m-d h:i:s");
//获取本地时间(也可以说是你所在时区时间)
date_default_timezone_set('地区'); //地区:中国是PRC,或shanghai,chongqing都可
echo date("Y-m-d h:i:s");
>
当然获取本地时间还可以用JS实现,如下:
<script type="text/javascript">
function showLocale(objD){
var str,colorhead,colorfoot;
var yy = objDgetYear();
if(yy<1900) yy = yy+1900;
var MM = objDgetMonth()+1;
if(MM<10) MM = '0' + MM;
var dd = objDgetDate();
if(dd<10) dd = '0' + dd;
var hh = objDgetHours();
if(hh<10) hh = '0' + hh;
var mm = objDgetMinutes();
if(mm<10) mm = '0' + mm;
var ss = objDgetSeconds();
if(ss<10) ss = '0' + ss;
var ww = objDgetDay();
if ( ww==0 ) colorhead="<font color=\"#000000\">";
if ( ww > 0 && ww < 6 ) colorhead="<font color=\"#000000\">";
if ( ww==6 ) colorhead="<font color=\"#000000\">";
if (ww==0) ww="星期日";
if (ww==1) ww="星期一";
if (ww==2) ww="星期二";
if (ww==3) ww="星期三";
if (ww==4) ww="星期四";
if (ww==5) ww="星期五";
if (ww==6) ww="星期六";
colorfoot="</font>"
str = colorhead + yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss + " " + ww + colorfoot;
return(str);
}
function tick(){
var today;
today = new Date();
documentgetElementById("localtime")innerHTML = showLocale(today);
windowsetTimeout("tick()", 1000);
}
tick();
</script>
0条评论