日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js如何获取服务器端时间?

發布時間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js如何获取服务器端时间? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用js做時間校正,獲取本機時間,是存在bug的。

使用js也可獲取到服務器時間,原理是使用 ajax請求,返回的頭部信息就含有服務器端的時間信息,獲取到就可以了。以下:

1、依賴jQuery

代碼:

function getServerDate(){return new Date($.ajax({async: false}).getResponseHeader("Date")); }

以上函數返回的就是一個Date對象,注意在使用ajax時必須同步,要不然無法返回時間日期。

無需填寫請求鏈接;

如果服務器時間和本地時間有時差,需要做校正。

2、原生

代碼:

function getServerDate(){var xhr = null;if(window.XMLHttpRequest){xhr = new window.XMLHttpRequest();}else{ // iexhr = new ActiveObject("Microsoft")}xhr.open("GET","/",false)//false不可變xhr.send(null);var date = xhr.getResponseHeader("Date");return new Date(date); }

返回的是一個Date對象,xhr.open()必須使用同步;

無需填寫請求鏈接;open,send,和getResponseHeader 必須按序編寫。

如需使用異步請求,可監聽onreadystatechange狀態來做不同的操作。

function getServerDate(){var xhr = null;if(window.XMLHttpRequest){xhr = new window.XMLHttpRequest();}else{ // iexhr = new ActiveObject("Microsoft")}xhr.open("GET","/",true);xhr.send(null);xhr.onreadystatechange=function(){var time,date;if(xhr.readyState == 2){time = xhr.getResponseHeader("Date");date = new Date(time);console.log(date);}} }

使用異步不是很方便返回時間。

這里的readyState有四種狀態,方便做不同處理:

  • 0: 請求未初始化
  • 1: 服務器連接已建立
  • 2: 請求已接收
  • 3: 請求處理中
  • 4: 請求已完成,且響應已就緒

失敗狀態,status的值:

200: "OK"

404: 未找到頁面

轉自:http://www.cnblogs.com/hellobook/p/6112182.html

另外,如果服務器時間較對可以用:http://bjtime.cn/nt.asp

轉載于:https://www.cnblogs.com/7qin/p/10188020.html

總結

以上是生活随笔為你收集整理的js如何获取服务器端时间?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。