当前位置: 首页 > news >正文

谷歌做网站龙岩建筑网

谷歌做网站,龙岩建筑网,网站建设佰金手指科杰二九,在网上怎么卖货目录 1、使用QT通过网络API接口获取网络实时时间 1.1、首先在网上找一个获取实时时间的API接口 1.2、 根据第一步获取的链接来发送请求 1.3、通过connect链接信号与槽 注意的点: 2、为什么需要网络实时时间 3、获取本机的实时时间 4、顺带提一句 1、使用QT通过…

目录

1、使用QT通过网络API接口获取网络实时时间

 1.1、首先在网上找一个获取实时时间的API接口

1.2、 根据第一步获取的链接来发送请求

1.3、通过connect链接信号与槽

注意的点:

2、为什么需要网络实时时间

3、获取本机的实时时间

4、顺带提一句


1、使用QT通过网络API接口获取网络实时时间

QString urlStr = "http://api.k780.com/?app=life.time&appkey=74655&sign=f0fc1a4e2b7459957de0ddf866ace591&format=json";QUrl url(urlStr);// 创建请求QNetworkRequest request(url);// 发送 GET 请求QNetworkReply *reply = networkManager->get(request);// 连接信号槽来处理响应connect(reply, &QNetworkReply::finished, [=]() {// 检查请求是否成功if (reply->error() != QNetworkReply::NoError) {qDebug() << "Request failed: " << reply->errorString();}// 获取返回的 JSON 数据QByteArray responseData = reply->readAll();// 解析 JSON 数据QJsonDocument jsonDoc = QJsonDocument::fromJson(responseData);if (!jsonDoc.isObject()) {qDebug() << "Failed to parse JSON";}qDebug() << jsonDoc;QJsonObject jsonObject = jsonDoc.object();if (jsonObject.contains("datetime_1")) {time = jsonObject["datetime_1"].toString();qDebug() << "Real-time time: " << time;} else {qDebug() << "Time not found in response";}reply->deleteLater();  // 释放 reply 对象});

 打印的结果

 1.1、首先在网上找一个获取实时时间的API接口

 列如:

北京时间校准接口api - 数据接口 - NowAPI

时间操作[取当前北京时间]免费API - 提供免费接口调用平台

 根据第一个为例

第一步:网站给的API示例

第二步:API链接的参数

第三步:API的格式

最终得到一个链接
https://sapi.k780.com/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json

 打开链接就可以看见返回了一个json数据包,包含了时间的数据,标准时间到现在的秒数,毫秒数,实时时间,中文编码的实时时间,周数等等...

 

1.2、 根据第一步获取的链接来发送请求

QString urlStr = "http://api.k780.com/?app=life.time&appkey=74655&sign=f0fc1a4e2b7459957de0ddf866ace591&format=json";QUrl url(urlStr);// 创建请求QNetworkRequest request(url);// 发送 GET 请求QNetworkReply *reply = networkManager->get(request);

还是根据网站给的

 

 我们采用get请求

1.3、通过connect链接信号与槽

 connect(reply, &QNetworkReply::finished, [=]() {// 检查请求是否成功if (reply->error() != QNetworkReply::NoError) {qDebug() << "Request failed: " << reply->errorString();}// 获取返回的 JSON 数据QByteArray responseData = reply->readAll();// 解析 JSON 数据QJsonDocument jsonDoc = QJsonDocument::fromJson(responseData);if (!jsonDoc.isObject()) {qDebug() << "Failed to parse JSON";}qDebug() << jsonDoc;QJsonObject jsonObject = jsonDoc.object();if (jsonObject.contains("datetime_1")) {time = jsonObject["datetime_1"].toString();qDebug() << "Real-time time: " << time;} else {qDebug() << "Time not found in response";}reply->deleteLater();  // 释放 reply 对象});

 解释一下代码:我们直接读取API接口返回的数据

返回的数据是json数据包,格式就是直接打开网页看见的样子,所以如果我要得到datetime_1;这个数据,需要自己提取,改信号与槽就是在获取与处理得到的json数据包;

注意的点:

如果获取成功返回的“success”的值为1;时间的数据在“result”里面,所以我们需要先提取“result”的值再提取”datetime_1“的值

如果获取不成功(网络不好或者访问次数到限制了——免费的一小时只能访问200次)

“success”的值为0;

2、为什么需要网络实时时间

 我们知道,QT自带有获取本机实时时间的函数,所以如果直接调用不是更简单吗?

但是我们是QT与嵌入式;如果开发板没有自带RTC,那么我们用QT的获取本机实时时间获取到的应该是系统装载好的时候的时间,往后的时间开发板是不会记录的,所以本文介绍的方法,适用于没有RTC的开发板

但是也顺便介绍一下,获取本机实时时间的方式

3、获取本机的实时时间

NOWTime = QDateTime::currentDateTime();// 将时间格式化为字符串QString sendTime = NOWTime.toString("yyyy-MM-dd HH:mm:ss");

 简单粗暴

第一句获取当前时间的时间戳

第二句将时间戳以"yyyy-MM-dd HH:mm:ss"的格式存入sendTime这个qstring

4、顺带提一句

 往上还有很多TCP,NTP的方式,个人感觉对我一个小白来说,介绍都不是很友好,如果是像我一样的小白,还是用别人做好的API接口方便

http://www.yayakq.cn/news/618369/

相关文章:

  • 网站开发程序开发微博营销方案
  • 西安营销型网站建站wordpress all in one seo pack
  • 免费asp网站源码下载网站建设系统课程
  • ui设计的一般流程竞价网站同时做优化可以吗
  • 网站开发个人感想做的网站没法本地上传图片
  • 设计网站推荐原因wordpress 论坛风格
  • 百度网站提交了多久收录品牌型网站制作公司
  • 上传网站软件搜索引擎优化自然排名的缺点
  • 常用的网站建设程序有哪些25个经典网站源代码
  • 做教育网站多少钱旧房装修 翻新的公司
  • 小型企业网站系统wordpress为何登
  • 网站平台在线提交功能惠州网站推广排名
  • 浙江住房与城乡建设部网站音乐网站的音乐列表如何做
  • 莞城网站仿做提高wordpress
  • 网站建设好了怎么进行推广wordpress群
  • 做网站需要注意的问题php网站后台登陆不了
  • 湖北省住房和建设厅网站首页网站开发工程师的职务
  • 沈阳seo网站管理帮客户做网站 没签合同咋办
  • 做网站需要多少带宽如何盗取网站
  • 乡村旅游网站建设wordpress换主题影响
  • 网站建设 费用wordpress添加注册页面模板
  • 网站备案 异地新闻软文怎么写
  • 做可视化的网站wordpress 段子模板
  • 网上房地产网站长春网站开发公司
  • 网站建设人员叫什么科目宁波网络推广公司价格
  • 定制网站开发蒙特php网站怎么做
  • 做理财的网站有哪些上海外贸学院
  • 云南做公司网站多少钱软件开发文档总结
  • 创建网站需要什么昆明网站建设 昆明光硕
  • 网站触屏版产品软文范例500字