js获取本地时间与网络时间
生活随笔
收集整理的這篇文章主要介紹了
js获取本地时间与网络时间
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
js是客戶端執行的,所以,js的一切關于時間的函數,如Date.now()都是以客戶端為準的,獲取的是客戶端的時間,即本地時間。
1、本地時間與網絡時間
本地時間:客戶端顯示的時間(一般是與網絡時間一致,但是電腦時間是可調整的,故可能不準確)
js中的Date方法獲取的時間就是客戶端的時間
網絡時間:互聯網時間。
當我們有倒計時的需求時,不可能以客戶端的時間為準,如果客戶端時間不予網絡時間一致,整個項目就完蛋了,所以我們需要獲取服務端時間
2、網絡時間獲取方法
我們獲取服務器時間是發起ajax請求,然后獲取請求頭即header為準的,方法如下:
2.1 原生js方法
日期格式化根據代碼
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發送請求
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獲取網絡時間
調用方法
dateTimeFormate($.ajax({async:false}).getResponseHeader("Date"))格式化時間方法
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获取本地时间与网络时间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(764):创建对象的三种方式
- 下一篇: 人工智能的变革趋势: 从弱人工智能到强人