一、JS获取网络时间接口
在JavaScript中,我们可以使用XMLHttpRequest对象发起一个get请求来获取网络时间。这个get请求可以向一些提供时间信息的公共API接口发起。
比如,使用中国科学院国家授时中心的API接口,可以通过如下代码获取网络时间:
var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://api.time.ac.cn/nowtime/', true); xhr.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { var response = JSON.parse(this.responseText); console.log(new Date(response.datetime)); } }; xhr.send(null);
二、JS获取网络状态
在发起网络请求前,我们需要知道网络状态是否良好。可以通过navigator对象的onLine属性来判断网络是否连通:
if (navigator.onLine) { // 执行网络请求 } else { // 提示用户网络已断开连接 }
三、JS如何获取当前时间
JavaScript中可以通过new Date()获取当前本地时间,也可以获取本地时间的UTC表示,方法如下:
var date = new Date(); // 获取本地时间 var utc = date.toUTCString(); // 获取UTC时间 console.log(date, utc);
四、JS获取当前时间字符串
通过JavaScript的Date对象,可以获取当前时间的年月日、小时分钟秒等信息,然后组成一个自定义的时间字符串,如下:
var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); var minute = date.getMinutes(); var second = date.getSeconds(); var timeString = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second; console.log(timeString);
五、JS获取当前时间小时
如果只需要获取小时信息,可以使用Date对象的getHours()方法获取,如下:
var date = new Date(); var hour = date.getHours(); console.log(hour);
六、JS获取网络时间戳
JavaScript中可以通过XMLHttpRequest对象获取网络时间戳,在onload事件中计算:
var xhr = new XMLHttpRequest(); xhr.open('HEAD', window.location.href, true); xhr.onreadystatechange = function() { if (this.readyState === this.DONE) { var serverDate = new Date(xhr.getResponseHeader('Date')); var timestamp = serverDate.getTime(); console.log(timestamp); } }; xhr.send(null);
七、JS获取当前网络时间
将获取到的网络时间戳转换为本地时间,就可以获取当前的网络时间:
var xhr = new XMLHttpRequest(); xhr.open('HEAD', window.location.href, true); xhr.onreadystatechange = function() { if (this.readyState === this.DONE) { var serverDate = new Date(xhr.getResponseHeader('Date')); var localDate = new Date(); var offset = localDate.getTimezoneOffset() * 60 * 1000; // 时区偏移值 var timestamp = serverDate.getTime() + offset; // 网络时间戳加上时区偏移值,得到本地时间戳 var networkDate = new Date(timestamp); console.log(networkDate); } }; xhr.send(null);
八、JS获取时间戳
JavaScript中可以通过Date对象的getTime()方法获取当前时间的时间戳:
var date = new Date(); var timestamp = date.getTime(); console.log(timestamp);