如何使用批处理命令,使本地计算机获取服务器时间

如何使用批处理命令,使本地计算机获取服务器时间,第1张

@echo off

::这个意思是获取1921681100时间

net time \\1921681100

::这个意思是同步1921681100时间

net time \\1921681100 /set

在窗体中建一个文本框和时间控件,可以在文本框中显示跳动的服务器时间

Private Sub Form_Load()

Timer1Interval = 300

End Sub

Private Sub Timer1_Timer()

Dim cnn As New ADODBConnection

Dim cmd As New ADODBCommand

Dim rst As New ADODBRecordset

Dim Sqlser_time

cnnConnectionString = "driver={SQL Server};" & _

"server=server;uid=sa;pwd=;database=master"

cnnOpen

cmdActiveConnection = cnn

cmdCommandText = "SELECT GETDATE() AS sys_Sqlser_time"

Set rst = cmdExecute

Sqlser_time = rst(0)

Text1Text = Sqlser_time

rstClose

cnnClose

End Sub

具体来说有这么几种思路吧:

轮询,就像你说的那样不间断的和服务器通信,比如每秒甚至更短就发起一次请求获取服务器时间,然后利用Ajax的readyState来确定从请求发起到收到回复过去的时间不会太长。

WebSocket,利用WebSocket来实时通信。

服务器当然不会蹦掉……而且如果你要做的是一个倒计时那情况就更简单了,比如说在倒计时结束之前服务器对这些请求都不回复,让请求TimeOut,只有在倒计时结束后才回复给客户端,这样就能节省流量。

而且现在有很多这种免费的时间API服务。这里: wwwtimeapiorg/ 就是一个。这个API会直接返回UTC字符串。如果担心服务器压力的话用这种服务就好了。

另外,很重要的一点要提醒你。不论是什么数据,不论是不是从客户端上提取出来的,只要是在客户端上处理的就必须默认这个数据不可靠。不论你怎么从服务器获取时间,你都要认为这个时间很有可能已经被动过了。如果是抽奖这样的任务的话必须全程在服务器上处理。客户端代码关于数据的功能只有两个:向用户显示数据,从用户提取数据。

网页前端是无法获取到服务器时间的,只有通过后台取值然后进行传递。 使用Ajax每秒获取服务器的时间并显示出来,但是服务器网络延迟较高,这样误差较大。

示例采用Head的方法处理,第一次页面加载时从服务器端获得时间,以这个时间为基准,客户端再用js每秒累加。

完整代理示例:

<html>

<head>

<title>html网页获取服务器的时间</title>

<script language="JavaScript" type="text/javascript">

<!--程序执行需要耗费时间,误差在2秒以下-->

var xmlHttp = false;

<!--获取服务器时间-->

try {

xmlHttp = new ActiveXObject("Msxml2XMLHTTP");

} catch (e) {

try {

    xmlHttp = new ActiveXObject("MicrosoftXMLHTTP");

} catch (e2) {

    xmlHttp = false;

}

}

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {

xmlHttp = new XMLHttpRequest();

}

xmlHttpopen("GET", "

, false);

xmlHttpsetRequestHeader("Range", "bytes=-1");

xmlHttpsend(null);

severtime=new Date(xmlHttpgetResponseHeader("Date"));

<!--获取服务器日期-->

var year=severtimegetFullYear();

var month=severtimegetMonth()+1;

var date=severtimegetDate();

<!--获取服务器时间-->

var hour=severtimegetHours();

var minu=severtimegetMinutes();

var seco=severtimegetSeconds();

<!--格式化输出服务器时间-->

function getSeverTime(){

seco++;

if(seco==60){

minu+=1;

seco=0;

}

if(minu==60){

   hour+=1;

   minu=0;

}

if(hour==24){ 

date+=1;

hour=0;

}

<!--日期处理-->

if(month==1||month==3||month==5||month==7

||month==8||month==10||month==12)

{

if(date==32)

{

   date=1;

   month+=1;

   }

}else if(month==4||month==6||month==9||month==11){

if(date==31){

   date=1;

   month+=1;

   }

}else if(month==2){

   if(year%4==0&&year%100!=0){<!--闰年处理-->

    if(date==29){

     date=1;

     month+=1;

    }

   }else{

    if(date==28){

     date=1;

     month+=1;

    }

   }

}

if(month==13){

year+=1;

month=1;

}

sseco=addZero(seco);

sminu=addZero(minu);

shour=addZero(hour);

sdate=addZero(date);

smonth=addZero(month);

syear=year;

innerdata="当前服务器时间:";

documentgetElementById("servertime")innerHTML=innerdata+syear+"-"+smonth+"-"+sdate+" "+shour+":"+sminu+":"+sseco;

setTimeout("getSeverTime()",1000);

setTimeout("getClientTime()",100);

}

function addZero(num) {

num=Mathfloor(num);

return ((num <= 9)  ("0" + num) : num);

}

</script>

</head>

<body onLoad="getSeverTime();">

<p id="servertime"></p>

<p id="clienttime"></p>

<p id="xctime"></p>

</body>

</html>

扩展网页前端获取当前时间,调用date()函数即可。

示例代码:

<span id="cg"></span>

<script>setInterval("cginnerHTML=new Date()toLocaleString()",1000);</script>

Date dateAndTime = new Date() //Java获取服务器当前日期和时间

Systemoutprintln(dateAndTime toString());

程序集 窗口程序集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

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何使用批处理命令,使本地计算机获取服务器时间

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情