導航:首頁 > IDC知識 > 獲取伺服器時間

獲取伺服器時間

發布時間:2020-08-05 03:53:21

1、怎樣獲取伺服器時間(要精確到秒哦)

1、你提法不是很准。
2、如果你想同步你的電腦到網上的標准時間,XP自身擁有此功能(windows2003也有),要求你的電腦能上網。此外,還能使用笨笨鍾(可去網上找)等軟體來實現。
3、如果你說的是你的局網中的客機要與主機同步時間,可以使用DOS命令:
net time \\server /set /yes
其中「server」是你的伺服器的網路上的名稱,可使用伺服器的IP代替。要求伺服器防火牆不關閉相應的埠。具體是那些埠,本人記不清,你可以自個試(用天網查看日誌可得到)。並且要求主機安裝的是伺服器版的windows,如windows 2000,windows2003等。
4、也可以通過編程來實現。常見的是使用SQL編程或其它。要求主客機上運行相應程序。
5、看你的補充,使用的是ASP,據我所知,在客機上光打開主機的ASP網頁只能得到主機的時間,而無法自動改動客機的時間的,因為ASP不應該做這種過份的事。如果一個客機一進某個網站,自個的機器時間就被改了,那可是一件可怕的事!
6、如果想返回伺服器日期,時間包括秒,請用<%=now()%>
這里附帶下:<%=date()%>顯示日期 例如:2006-6-30
<%=Time()%>顯示時間 例如:21:12:12

2、js如何取得伺服器時間

正如樓上所說的,js只能操作客戶端的東西。在客戶端時刻顯示並更新伺服器的時間應該是不可能的,因為會由於網路延遲的因素使得時間不精確。
打個比方,可以使用ajax每秒鍾獲取伺服器的時間,然後再顯示出來,但是可能這個用戶的網路延遲比較厲害,他請求的這個時間過了兩三秒才返回給客戶端,那這樣更新時間就不精確了。

也可以這樣,第一次從伺服器那裡獲取時間,然後再客戶端用js,每秒累加數,就是以獲取伺服器的那個時間為起掉,用客戶端代碼每秒累加這個時間

3、如何獲取伺服器時間

// 思路是發送一個http請求,然後從response字元串里截取出Date部分,這樣得到的時間是GMT格式的,不過轉本地時間也很容易了

#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>

#pragma comment(lib, "ws2_32.lib")

int main()
{
WSADATA wsaData;
addrinfo hints, *rs;
sockaddr_in serveraddr;
SOCKET s;
char host[256], hostIP[256], request[1024], *p;
int rc, nBytes;

WSAStartup(MAKEWORD(2, 2), &wsaData);
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

printf("plz input host name(eg.www.example.com):");
gets(host);
ZeroMemory(&hints, sizeof(addrinfo));
hints.ai_flags = AI_PASSIVE;
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;

rc = getaddrinfo(host, "80", &hints, &rs);

if(rc != 0) {
printf("getaddrinfo failed with error code:%d\n", WSAGetLastError());
goto clean;
}

getnameinfo(rs->ai_addr, rs->ai_addrlen, hostIP, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);
printf("server ip is: %s\n", hostIP);
freeaddrinfo(rs);

serveraddr.sin_family = AF_INET;
serveraddr.sin_addr.s_addr = inet_addr(hostIP);
serveraddr.sin_port = htons(80);

rc = connect(s, (SOCKADDR*) &serveraddr, sizeof(serveraddr));
if(rc != 0) {
printf("connect to server failed.");
goto clean;
}

strcpy(request, "GET / HTTP/1.1\r\n");
strcat(request, "Host: ");
strcat(request, host);
strcat(request, "\r\nConnection: close\r\n\r\n");
send(s, request, strlen(request), 0);
while(1)
{
nBytes = recv(s, request, 1024, 0);
if(nBytes == SOCKET_ERROR)
{
printf("recv failed with error %d\n",WSAGetLastError());
goto clean;
} else {
p = strstr(request, "Date:");
p += 5;
while(*p == ' ') ++p;
printf("server time: ");
while(*p != '\r')
putchar(*p++);
putchar('\n');
break;
}

}
clean:
closesocket(s);
WSACleanup();
return 0;
}

4、html網頁怎樣獲取伺服器的時間?

網頁前端是無法獲取到伺服器時間的,只有通過後台取值然後進行傳遞。 使用Ajax每秒獲取伺服器的時間並顯示出來,但是伺服器網路延遲較高,這樣誤差較大。

示例採用Head的方法處理,第一次頁面載入時從伺服器端獲得時間,以這個時間為基準,客戶端再用js每秒累加。

完整代理示例:

<html>
<head>
<title>html網頁獲取伺服器的時間</title>
<script language="JavaScript" type="text/javascript">
<!--程序執行需要耗費時間,誤差在2秒以下-->
var xmlHttp = false;
<!--獲取伺服器時間-->
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
    xmlHttp = false;
}
}

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

xmlHttp.open("GET", "
, false);
xmlHttp.setRequestHeader("Range", "bytes=-1");
xmlHttp.send(null);

severtime=new Date(xmlHttp.getResponseHeader("Date"));

<!--獲取伺服器日期-->
var year=severtime.getFullYear();
var month=severtime.getMonth()+1;
var date=severtime.getDate();
<!--獲取伺服器時間-->
var hour=severtime.getHours();
var minu=severtime.getMinutes();
var seco=severtime.getSeconds();

<!--格式化輸出伺服器時間-->
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="當前伺服器時間:";
document.getElementById("servertime").innerHTML=innerdata+syear+"-"+smonth+"-"+sdate+" "+shour+":"+sminu+":"+sseco;
setTimeout("getSeverTime()",1000);
setTimeout("getClientTime()",100);
}

function addZero(num) {
num=Math.floor(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("cg.innerHTML=new Date().toLocaleString()",1000);</script>

5、jQuery怎麼獲取伺服器時間?

通過執行ajax方式返回伺服器時間

*/
$(document).ready(function (){
var url="/ajax/comm.shtml?action=getTime";
jQuery.ajax(url,{
data: "",
dataType: "json",
cache: false,
success: function(req){
callbackTime(req);
},
error: function(msg){
alert("ERROR:請刷新頁面!");
}
});
$("#but1").click(function(){jqueryTest();});
});

var srv_nowtime;
function callbackTime(req){
var timeArr = req.split("&");
srv_nowtime = new Date(timeArr[0]).getTime();

showTime();

window.setInterval(showTime, 1000);
}

function showTime(){
srv_nowtime += 1000;
var nowtime = new Date(srv_nowtime);
var ymd = nowtime.getFullYear() + ""+ (nowtime.getMonth()+1) +""+ (nowtime.getDate()<10?"0"+nowtime.getDate():nowtime.getDate());
//alert(ymd);

}

執行之後就會顯示伺服器時間

6、java 獲取伺服器的時間,年月日時分秒

您這還挺神奇的。如果用java後台獲取到時間,然後傳到jsp頁面。
還得動態不停的走,這傳輸的多頻繁啊?我確實沒見過

建議你找找javascript的代碼。有很多的。
給出一種
function getCustomTime()
{
var nowtime=new Date();
var hours=nowtime.getHours();
hours=hours>9?hours:"0"+hours;
var minutes=nowtime.getMinutes();
minutes=minutes>9?minutes:"0"+minutes;

var disptime=hours+":"+minutes;
document.getElementById("hourminutes").innerHTML=disptime;
setTimeout("getCustomTime()",1000);
}
function getCustomMonth(){

time=new Date();
year=time.getYear();
month=time.getMonth()+1;
month=month>9?month:"0"+month;
day=time.getDate();
day=day>9?day:"0"+day;
var disptime=year+"/"+month+"/"+day+'星期'+'日一二三四五六'.charAt(time.getDay());
document.getElementById("xq").innerHTML=disptime;
setTimeout("getCustomMonth()",1000);
}

然後再你需要的地方引用這兩個函數就可以了

7、java 如何分別取出伺服器時間和客戶機時間

客戶端運行的是什麼程序?他們怎麼交互的??
用web的來舉例
伺服器沒啥說的.就是new java.util.Date()獲得當前機器時間.
客戶端.因為是用ie運行.不可能用java獲得.可以調用javascript來獲得當前時間在提交到服務端..

//因為現在的c/s程序都是分布式的.資料庫可以裝在不通的機器上.而應用也裝在不通的機器上.所以要是你的資料庫和應用在同一台機器上.那麼你從資料庫中獲得的時間和從應用中獲得的時間是一樣的.都是當前機器時間.要是分開部署的話.那麼資料庫中獲得的時間和應用獲得的時間多少會有些出入.
//還有sql指的是語言.資料庫是db.還有你說的伺服器.跑應用和跑資料庫的都叫伺服器.只不過一個是應用伺服器.專門處理應用.一個是資料庫伺服器專門處理資料庫..明白?

8、PHP如何獲得伺服器時間

<?php
//首先設置時區為東八區,也就是我國的標准時間所在區。Asia/Hong_Kong、Asia/Shanghai(上海)或Asia/Urumqi(烏魯木齊)等,都是東八區的時間。設置為其中的一種都可以
 date_default_timezone_set('Asia/Shanghai');
 
 //獲取當前伺服器時間
$time= date('Y-m-d H:i:s',time());
 
?>

9、js如何獲取伺服器時間

直接給你代碼吧,這個是JS可以讀取本地時間和伺服器時間的。如果想看效果可以看參考資料
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>untitled</title>
<script type="text/javascript">
get=function (id){return document.getElementById(id)}
if(document.all){
window.XMLHttpRequest=function(){
var get=['Microsoft.XMLHTTP','Msxml2.XMLHTTP'];
for(var i=0;i<get.length;i++){try{return new ActiveXObject(get[i])}catch(e){}};
};
}
webDate=function(fn){
var Htime=new XMLHttpRequest();
Htime.onreadystatechange=function(){Htime.readyState==4&&(fn(new Date(Htime.getResponseHeader('Date'))))};
Htime.open('HEAD', '/?_='+(-new Date));
Htime.send(null);
}
window.time=new Date();
targetTime=new Date();
time2String=function (t){
with(t)return [getFullYear(),'年'
,('0'+(getMonth()+1)).slice(-2),'月'
,('0'+getDate()).slice(-2),'日 '
,('0'+getHours()).slice(-2),': '
,('0'+getMinutes()).slice(-2),': '
,('0'+getSeconds()).slice(-2)].join('')
}
int2time=function (m){
m-=(D=parseInt(m/86400000))*86400000;
m-=(H=parseInt(m/3600000))*3600000;
S=parseInt((m-=(M=parseInt(m/60000))*60000)/1000);
return D+'天'+H+'小時'+M+'分'+S+'秒'
}
setInterval(function (){
webDate(function (webTime){
get('web').innerHTML=time2String(time=webTime);
})
get('locale').innerHTML=time2String(new Date);
get('time').innerHTML=int2time(targetTime-time);
if ((targetTime-time)<0) {
get('time').innerHTML = 'Game Over';
}
},1000)
</script>
</head>
<body>
設定時間:2012年12月31日0時0分0秒<br />
伺服器時間:<span id='web'>loading...</span><br />
本地時間:<span id="locale">loading...</span><br />
倒計時時間:<span id="time">loading...</span>
<script type="text/javascript" charset="utf-8">
targetTime=new Date(2012,12,31,00,00,00);
</script>
</body>
</html>

與獲取伺服器時間相關的知識