js获取本地时间与网络时间
生活随笔
收集整理的這篇文章主要介紹了
js获取本地时间与网络时间
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
js是客戶端執(zhí)行的,所以,js的一切關(guān)于時(shí)間的函數(shù),如Date.now()都是以客戶端為準(zhǔn)的,獲取的是客戶端的時(shí)間,即本地時(shí)間。
1、本地時(shí)間與網(wǎng)絡(luò)時(shí)間
本地時(shí)間:客戶端顯示的時(shí)間(一般是與網(wǎng)絡(luò)時(shí)間一致,但是電腦時(shí)間是可調(diào)整的,故可能不準(zhǔn)確)
js中的Date方法獲取的時(shí)間就是客戶端的時(shí)間
網(wǎng)絡(luò)時(shí)間:互聯(lián)網(wǎng)時(shí)間。
當(dāng)我們有倒計(jì)時(shí)的需求時(shí),不可能以客戶端的時(shí)間為準(zhǔn),如果客戶端時(shí)間不予網(wǎng)絡(luò)時(shí)間一致,整個(gè)項(xiàng)目就完蛋了,所以我們需要獲取服務(wù)端時(shí)間
2、網(wǎng)絡(luò)時(shí)間獲取方法
我們獲取服務(wù)器時(shí)間是發(fā)起ajax請(qǐng)求,然后獲取請(qǐng)求頭即header為準(zhǔn)的,方法如下:
2.1 原生js方法
日期格式化根據(jù)代碼
function dateTimeFormate(date){if(!date){return}else{var d = new Date(date);var year = d.getFullYear();var month = ('0' + (d.getMonth() + 1)).slice(-2);var day = ('0' + (d.getDate())).slice(-2);var hour = ('0' + (d.getHours())).slice(-2);var minutes = ('0' + (d.getMinutes())).slice(-2);var seconds = ('0' + (d.getSeconds())).slice(-2);return year + "-" + month + "-" + day + " " + hour + ":" + minutes + ":" + seconds;} }js發(fā)送請(qǐng)求
var xhr = new XMLHttpRequest(); if( !xhr ){xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open("HEAD",location.href,true); xhr.onreadystatechange=function(){if( xhr.readyState == 4 && xhr.status == 200 ){alert(dateTimeFormate(xhr.getResponseHeader("Date")));} } xhr.send(null);2.2 使用jquery獲取網(wǎng)絡(luò)時(shí)間
調(diào)用方法
dateTimeFormate($.ajax({async:false}).getResponseHeader("Date"))格式化時(shí)間方法
function dateTimeFormate(date){if(!date){return}else{var d = new Date(date);var year = d.getFullYear();var month = ('0' + (d.getMonth() + 1)).slice(-2);var day = ('0' + (d.getDate())).slice(-2);var hour = ('0' + (d.getHours())).slice(-2);var minutes = ('0' + (d.getMinutes())).slice(-2);var seconds = ('0' + (d.getSeconds())).slice(-2);return year + "-" + month + "-" + day + " " + hour + ":" + minutes + ":" + seconds;} }總結(jié)
以上是生活随笔為你收集整理的js获取本地时间与网络时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(764):创建对象的三种方式
- 下一篇: 人工智能的变革趋势: 从弱人工智能到强人