您的位置:

JS获取网络时间

一、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);
JS获取网络时间

2023-05-16
怎么抽取网页整理,怎么抽取网页整理数据

2023-01-08
印象笔记记录java学习(Java成长笔记)

2022-11-12
java学习笔记(java初学笔记)

2022-11-14
重学java笔记,java笔记总结

2022-11-23
java方法整理笔记(java总结)

2022-11-08
获取网络时间

2023-05-20
发篇java复习笔记(java课程笔记)

2022-11-09
htmljs编程笔记(html代码笔记)

本文目录一览: 1、html代码和JS代码有什么区别 2、如何在html中调用js函数 3、JavaScript学习笔记之数组基本操作示例 4、HTML5初学者笔记 5、《web前端笔记7》js字符—

2023-12-08
java基础知识学习笔记一,Java基础笔记

2022-11-21
java笔记,尚硅谷java笔记

2022-12-01
关于已前的学习笔记java的信息

2022-11-18
java笔记,大学java笔记

2022-11-28
JS获取服务器时间详解

2023-05-23
关于java获取eth余额的信息

2022-11-18
js高级程序设计笔记14(js高级程序设计笔记14页)

本文目录一览: 1、JavaScript高级程序设计 该怎么看 2、JavaScript学习笔记之数组基本操作示例 3、JS中有关sort以及return的问题 JavaScript高级程序设计 该怎

2023-12-08
获取时间的函数js代码,js获取时区代码

本文目录一览: 1、js获取服务器时间(动态) 2、JS中获取当前时间的代码是什么? 3、我想javascript写一个函数返回现在时间到当天8:30地时间差,返回的是秒数,不知道怎么写 4、js 怎

2023-12-08
js一行代码获取时间时分秒(js获取毫秒时间)

本文目录一览: 1、js获取当前当前年月日时分秒,以及获取年月日(无时分秒),详情见补充! 2、javascript 怎么截取时分秒 3、js如何获得系统时间年月日时分秒 4、js获得当前日期和时间的

2023-12-08
Mac笔记:在日常生活中高效实用的笔记工具

2023-05-18
jsp程序开发学习笔记2,jsp程序设计题库

本文目录一览: 1、《JSP&Servlet学习笔记》pdf下载在线阅读,求百度网盘云资源 2、林信良编著jsp&servlet学习笔记第2版课后答案吗 3、jsp有没有快速掌握的办法呀? 4、要学J

2023-12-08